Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7601726B2 - Buffer allocation device, subscriber line termination device, buffer allocation method and program - Google Patents
[go: Go Back, main page]

JP7601726B2 - Buffer allocation device, subscriber line termination device, buffer allocation method and program - Google Patents

Buffer allocation device, subscriber line termination device, buffer allocation method and program Download PDF

Info

Publication number
JP7601726B2
JP7601726B2 JP2021134583A JP2021134583A JP7601726B2 JP 7601726 B2 JP7601726 B2 JP 7601726B2 JP 2021134583 A JP2021134583 A JP 2021134583A JP 2021134583 A JP2021134583 A JP 2021134583A JP 7601726 B2 JP7601726 B2 JP 7601726B2
Authority
JP
Japan
Prior art keywords
buffer
buffer amount
queue
amount
built
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.)
Active
Application number
JP2021134583A
Other languages
Japanese (ja)
Other versions
JP2023028711A (en
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.)
Mitsubishi Electric Corp
NTT Inc
NTT Inc USA
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Mitsubishi Electric Corp
Priority to JP2021134583A priority Critical patent/JP7601726B2/en
Publication of JP2023028711A publication Critical patent/JP2023028711A/en
Application granted granted Critical
Publication of JP7601726B2 publication Critical patent/JP7601726B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Optical Communication System (AREA)

Description

本発明は、バッファ割り当て装置、加入者線終端装置、バッファ割り当て方法及びプログラムに関する。 The present invention relates to a buffer allocation device, a subscriber line termination device, a buffer allocation method, and a program.

アクセスサービスの高速化に対するニーズの高まりに応じて、FTTH(Fiber To The Home)が世界的に普及している。日本で主力となるFTTHサービスとして、例えば、ギガビット級の伝送速度を実現するGE-PON(Gigabit Ethernet PON)、及び10G-EPON(10Gigabit Ethernet PON)等がある。 In response to the growing need for faster access services, FTTH (Fiber To The Home) is becoming more widespread worldwide. In Japan, the main FTTH services include GE-PON (Gigabit Ethernet PON), which achieves gigabit-class transmission speeds, and 10G-EPON (10 Gigabit Ethernet PON).

GE-PON及び10G-EPONでは、ONUからOLTへの方向の上り通信においては、TDMA(Time Division Multiple Access;時分割多元接続)技術が用いられる。また、GE-PON及び10G-EPONをシステムとして動作させるために必要な機能の1つとしてDBA(Dynamic Bandwidth Allocation;動的帯域割当)機能がある。DBA機能は、上り通信における帯域を、トラヒック量に応じて動的に割り当てる帯域制御機能である。DBA機能は、各ONUに流れる上り通信のトラヒックの状況に応じて、割り当てる帯域を適切に切り替えることで、未使用帯域を発生させることなく、効率的な上り帯域を実現する。 In GE-PON and 10G-EPON, TDMA (Time Division Multiple Access) technology is used for upstream communications from the ONU to the OLT. In addition, one of the functions required for GE-PON and 10G-EPON to operate as a system is the DBA (Dynamic Bandwidth Allocation) function. The DBA function is a bandwidth control function that dynamically allocates bandwidth for upstream communications according to the amount of traffic. The DBA function realizes efficient upstream bandwidth without generating unused bandwidth by appropriately switching the allocated bandwidth according to the status of the upstream traffic flowing to each ONU.

DBA機能では、各ONUは、上り送信バッファに蓄積されている送信待ちの上りデータのデータ量を、REPORTフレームによってOLTに伝える。一方、OLTは、受信したREPORTフレームに基づいて、それぞれのONUが時間的に衝突することなく上りデータを送信することができるように、上りデータの送信開始時刻及び送信許可量をGATEフレームによって各ONUへ指示する。各ONUは、GATEフレームによって指示された送信開始時刻に、送信許可量に基づいて上りデータの送信を行う。このように、GATEフレームとREPORTフレームとを用いたやりとりによって、DBA機能が実現される。 In the DBA function, each ONU communicates to the OLT, via a REPORT frame, the amount of upstream data waiting to be sent that is stored in the upstream transmission buffer. Meanwhile, the OLT uses a GATE frame to instruct each ONU on the upstream data transmission start time and permitted transmission amount so that each ONU can transmit upstream data without time collisions based on the received REPORT frame. Each ONU transmits upstream data based on the permitted transmission amount at the transmission start time instructed by the GATE frame. In this way, the DBA function is realized through communication using GATE and REPORT frames.

“技術基礎講座[GE-PON技術]第4回.GE-PONのシステム化機能”,NTT技術ジャーナル,pp.59-61,2005年11月"Technical Basics Course [GE-PON Technology] Part 4: Systemization Functions of GE-PON", NTT Technical Journal, pp. 59-61, November 2005

ところで、1ユーザに複数のサービスを提供する場合、例えばVoIP(Voice over Internet Protocol)及び映像配信等の品質保証型の通信が多重する場合のサービス品質を確保するためには、優先制御機能が必要となる(非特許文献1参照)。優先制御機能により重要度の高いデータから優先的に送信することが可能になり、低優先のデータ(インターネットサービス)と高優先のデータ(VoIP及び映像配信等)とが同時に入力されたとしても、高優先サービスの品質を確保することが可能になる。 When providing multiple services to one user, for example when quality-guaranteed communications such as VoIP (Voice over Internet Protocol) and video distribution are multiplexed, a priority control function is required to ensure the quality of the services (see Non-Patent Document 1). The priority control function makes it possible to transmit data with higher importance first, and ensures the quality of the high-priority service even if low-priority data (Internet service) and high-priority data (VoIP, video distribution, etc.) are input simultaneously.

一般的に、ONUは、上りデータの送信の優先制御を行う。ONUは、上りデータの送信タイミングを制御するため、大量のバッファを必要とする。そのため、ONUは、内部のPONチップに、上りデータを一時蓄積しておくための上り送信バッファ(以下、「内蔵バッファ」という。)を搭載している。また、この内蔵バッファは、複数の上り送信キューを備えている。なお、ここでいうPONチップとは、コスト低減のためにONUの主要機能がLSI(Large Scale Integration)化されたものである。 In general, an ONU performs priority control for the transmission of upstream data. The ONU requires a large amount of buffer space to control the timing of upstream data transmission. For this reason, the ONU is equipped with an upstream transmission buffer (hereafter referred to as the "built-in buffer") in its internal PON chip to temporarily store upstream data. This built-in buffer also has multiple upstream transmission queues. The PON chip referred to here is an ONU whose main functions have been integrated into an LSI (Large Scale Integration) to reduce costs.

但し、それでもPONチップに搭載された内蔵バッファだけでは、バッファ量が足りなくなる場合がある。この場合、例えばDDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)等の外付けの上り送信バッファ(以下、「外付けバッファ」という。)を追加して、2段バッファ構成とする必要がある。なお、この外付けバッファにも、複数の上り送信キューが備えられるように構成される。そして、内蔵バッファの各上り送信キューと外付けバッファの各上り送信キューとが、互いに一対一で対応付けられている。2段バッファ構成により、内蔵バッファに空きがない状態であっても、外付けバッファにバッファリングがなされるため、バッファオーバーフローの発生等を防止することができる。 However, even so, there are cases where the built-in buffer mounted on the PON chip does not have enough buffer capacity. In this case, it is necessary to add an external upstream transmission buffer (hereinafter referred to as "external buffer") such as a DDR SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory) to create a two-stage buffer configuration. This external buffer is also configured to have multiple upstream transmission queues. Each upstream transmission queue of the built-in buffer and each upstream transmission queue of the external buffer are in one-to-one correspondence. With the two-stage buffer configuration, even if there is no free space in the built-in buffer, buffering is performed in the external buffer, preventing the occurrence of buffer overflows, etc.

しかしながら、従来、このような2段バッファにおいて、それぞれのバッファに対して必要十分なバッファ量を設定するための設定方法が明確に示されていなかった。そのため、設定されたバッファ量の全てを内蔵バッファに割り当てられない状態となること(以下、「オーバーサブスクリプション」という。)を防ぐために、余裕を持たせて外付けバッファのバッファ量を設定することができるようにしなければならなかった。これにより、送信バッファの装置コストが増大するという課題があった。 However, in the past, there was no clear method for setting a necessary and sufficient buffer capacity for each buffer in such a two-stage buffer. Therefore, in order to prevent a situation in which the entire set buffer capacity cannot be allocated to the built-in buffer (hereinafter referred to as "oversubscription"), it was necessary to set the buffer capacity of the external buffer with a margin. This resulted in an issue of increased equipment costs for the transmission buffer.

本発明は、上記の点を鑑みてなされたものであり、送信データをバッファリングする機器をより低いコストで実装することができるバッファ割り当て装置、加入者線終端装置、バッファ割り当て方法及びプログラムを提供することを目的とする。 The present invention has been made in consideration of the above points, and aims to provide a buffer allocation device, a subscriber line termination device, a buffer allocation method, and a program that can implement equipment for buffering transmission data at lower cost.

本発明の一態様は、複数のキューの各々に対する要求バッファ量を示す情報を取得する取得部と、前記キューごとの前記要求バッファ量を第1の記憶部で生じうる最も低いデータ収容効率に基づいて第1最低換算バッファ量にそれぞれ換算し、前記第1の記憶部の最も優先度の低い前記キューに対して、前記第1最低換算バッファ量と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに対して、前記第1の記憶部の合計容量から前記第1の記憶部の最も優先度の低い前記キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記第1の記憶部の最も優先度の低い前記キュー以外のキューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定部と、を備えるバッファ割り当て装置である。 One aspect of the present invention is a buffer allocation device that includes an acquisition unit that acquires information indicating a requested buffer amount for each of a plurality of queues, and a setting unit that converts the requested buffer amount for each queue into a first minimum converted buffer amount based on the lowest data storage efficiency that can occur in a first storage unit, and assigns a buffer amount calculated based on the first minimum converted buffer amount and the minimum buffer amount required per cycle of a dynamic bandwidth allocation function to the queue with the lowest priority of the first storage unit, and assigns a buffer amount calculated based on a first buffer amount, which is a buffer amount obtained by subtracting the buffer amount assigned to the queue with the lowest priority of the first storage unit from the total capacity of the first storage unit, and a second buffer amount, which is a sum of the first minimum converted buffer amounts of queues other than the queue with the lowest priority of the first storage unit.

また、本発明の一態様は、複数の上り送信キューの各々に対する要求バッファ量を示す情報を取得する取得部と、前記上り送信キューごとの前記要求バッファ量を内蔵バッファで生じうる最も低いデータ収容効率に基づいて第1最低換算データ長にそれぞれ換算し、前記内蔵バッファの最も優先度の低い前記上り送信キューに対して、前記第1最低換算データ長と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記内蔵バッファの最も優先度の低い前記上り送信キュー以外の上り送信キューに対して、前記内蔵バッファの合計容量から前記内蔵バッファの最も優先度の低い前記上り送信キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記内蔵バッファの最も優先度の低い前記上り送信キュー以外の上り送信キューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定部と、を備える加入者線終端装置である。 Moreover, one aspect of the present invention is a subscriber line termination device comprising: an acquisition unit that acquires information indicating a requested buffer amount for each of a plurality of upstream transmission queues; and a setting unit that converts the requested buffer amount for each of the upstream transmission queues into a first minimum converted data length based on the lowest data storage efficiency that can occur in the built-in buffer, and assigns a buffer amount calculated based on the first minimum converted data length and a minimum buffer amount required per cycle of a dynamic bandwidth allocation function to the upstream transmission queue having the lowest priority of the built-in buffer; and assigns a buffer amount calculated based on a first buffer amount, which is a buffer amount obtained by subtracting the buffer amount assigned to the upstream transmission queue having the lowest priority of the built-in buffer from the total capacity of the built-in buffer, and a second buffer amount, which is a sum of first minimum converted buffer amounts of the upstream transmission queues other than the upstream transmission queue having the lowest priority of the built-in buffer.

また、本発明の一態様は、複数のキューの各々に対する要求バッファ量を示す情報を取得する取得ステップと、前記キューごとの前記要求バッファ量を第1の記憶部で生じうる最も低いデータ収容効率に基づいて第1最低換算バッファ量にそれぞれ換算し、前記第1の記憶部の最も優先度の低い前記キューに対して、前記第1最低換算バッファ量と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに対して、前記第1の記憶部の合計容量から前記第1の記憶部の最も優先度の低い前記キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記第1の記憶部の最も優先度の低い前記キュー以外のキューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定ステップと、を有するバッファ割り当て方法である。 An aspect of the present invention is a buffer allocation method including: an acquisition step of acquiring information indicating a requested buffer amount for each of a plurality of queues; a setting step of converting the requested buffer amount for each queue into a first minimum converted buffer amount based on the lowest data storage efficiency that can occur in the first storage unit; allocating a buffer amount calculated based on the first minimum converted buffer amount and the minimum buffer amount required per cycle of the dynamic bandwidth allocation function to the queue with the lowest priority in the first storage unit; and allocating a buffer amount calculated based on a first buffer amount, which is a buffer amount obtained by subtracting the buffer amount allocated to the queue with the lowest priority in the first storage unit from the total capacity of the first storage unit, and a second buffer amount, which is a sum of the first minimum converted buffer amounts of queues other than the queue with the lowest priority in the first storage unit.

また、本発明の一態様は、上記のバッファ割り当て装置としてコンピュータを機能させるためのプログラムである。 Another aspect of the present invention is a program for causing a computer to function as the above-mentioned buffer allocation device.

本発明により、送信データをバッファリングする機器をより低いコストで実装することができる。 The present invention allows equipment for buffering transmission data to be implemented at lower cost.

本発明の実施形態におけるPON1の全体構成図である。1 is an overall configuration diagram of a PON1 according to an embodiment of the present invention. 本発明の実施形態におけるONU20の構成を示すブロック図である。2 is a block diagram showing a configuration of an ONU 20 according to an embodiment of the present invention. 本発明の実施形態におけるONU20による上り送信バッファの設定処理を説明するための図である。10A and 10B are diagrams for explaining an upstream transmission buffer setting process by an ONU 20 according to an embodiment of the present invention. 本発明の実施形態におけるONU20による上り送信バッファの設定処理を説明するための図である。10A and 10B are diagrams for explaining an upstream transmission buffer setting process by an ONU 20 according to an embodiment of the present invention. 本発明の実施形態におけるONU20による上り送信バッファの設定処理を説明するための図である。10A and 10B are diagrams for explaining an upstream transmission buffer setting process by an ONU 20 according to an embodiment of the present invention. 本発明の実施形態におけるONU20の動作の一例を示すフローチャートである。4 is a flowchart showing an example of an operation of an ONU 20 according to the embodiment of the present invention.

以下、本発明の実施形態について、図面を参照しながら説明する。 The following describes an embodiment of the present invention with reference to the drawings.

[PONの構成]
FTTHサービスを高速かつ安価に提供する光アクセスシステムとしてPON(Passive Optical Network;受動光ネットワーク)がある。PONは、光-電気変換を行わず、低コストの受動素子である光スプリッタを用いて光信号を複数に分岐する。これにより、PONは、一心の光ファイバを複数ユーザで共有することによって、経済的なネットワークを実現することができる。日本において主力となるFTTHサービスとして、例えば、ギガビット級の伝送速度を実現するGE-PON及びGE-PONのさらに10倍の帯域を持つ10G-EPON等がある。
[PON Configuration]
PON (Passive Optical Network) is an optical access system that provides FTTH services at high speed and low cost. PON does not perform optical-electrical conversion, but splits optical signals into multiple signals using an optical splitter, which is a low-cost passive element. As a result, PON can realize an economical network by sharing a single optical fiber among multiple users. The main FTTH services in Japan include, for example, GE-PON, which realizes gigabit-class transmission speeds, and 10G-EPON, which has a bandwidth 10 times that of GE-PON.

以下、本実施形態におけるPON1の全体構成について説明する。図1は、本発明の実施形態におけるPON1の全体構成図である。図1に示されるように、PON1は、OLT(Optical Line Terminal;加入者線端局装置)10と、複数の(図1においてはn台の)ONU(Optical Network Unit;加入者線終端装置)20と、光ファイバ30と、光スプリッタ40と、を含んで構成される。 The overall configuration of PON1 in this embodiment will be described below. FIG. 1 is an overall configuration diagram of PON1 in this embodiment of the present invention. As shown in FIG. 1, PON1 is configured to include an OLT (Optical Line Terminal) 10, a plurality of ONUs (Optical Network Units) 20 (n units in FIG. 1), an optical fiber 30, and an optical splitter 40.

OLT10は、例えば通信事業者の局舎内に設置される。ONU20は、例えばユーザの宅内(又は構内)に設置される。光ファイバ30は、例えば通信事業者の局舎とユーザの宅内との間に敷設される。光スプリッタ40は、光ファイバ30を分岐する。OLT10とONU20との間に光信号を合分波する光スプリッタ40が設置されることによって、1つのOLT10に対して複数のONU20が接続される。 The OLT 10 is installed, for example, in a telecommunications carrier's office. The ONU 20 is installed, for example, in a user's home (or premises). The optical fiber 30 is laid, for example, between the telecommunications carrier's office and the user's home. The optical splitter 40 branches the optical fiber 30. By installing the optical splitter 40 between the OLT 10 and the ONU 20, which multiplexes and splits optical signals, multiple ONUs 20 are connected to one OLT 10.

OLT10は、ONU20から送信された光信号を受信して、上位装置あるいは上位ネットワーク(例えば、インターネット等)へ転送する。また、OLT10は、上位装置あるいは上位ネットワークからの信号を受信して、各ONU20へ転送する。OLT10は、PON区間及びONU20を制御監視する役割を担う。 The OLT 10 receives optical signals transmitted from the ONUs 20 and forwards them to a higher-level device or a higher-level network (e.g., the Internet). The OLT 10 also receives signals from the higher-level device or the higher-level network and forwards them to each ONU 20. The OLT 10 is responsible for controlling and monitoring the PON section and the ONUs 20.

ONU20は、OLT10から送信された光信号を受信して電気信号に変換する。そして、ONU20は、変換された電気信号をユーザの端末装置(例えば、PC等)へ転送する。また、ONU20は、ユーザの端末装置から送信された電気信号を受信して光信号に変換する。そして、ONU20は、変換された光信号をOLT10へ転送する。 ONU 20 receives optical signals transmitted from OLT 10 and converts them into electrical signals. ONU 20 then transfers the converted electrical signals to the user's terminal device (e.g., a PC, etc.). ONU 20 also receives electrical signals transmitted from the user's terminal device and converts them into optical signals. ONU 20 then transfers the converted optical signals to OLT 10.

PON1では、OLT10からONU20への方向の通信(以下、「下り通信」という。)においては、TDM(Time Division Multiplexing;時分割多重化)技術が用いられる。TDMは、複数のユーザの信号を時間的に重ならないように多重化して伝送する技術である。 In PON1, TDM (Time Division Multiplexing) technology is used for communication from OLT 10 to ONU 20 (hereinafter referred to as "downstream communication"). TDM is a technology that multiplexes and transmits signals from multiple users so that they do not overlap in time.

なお、下り通信では、OLT10から送信されて光スプリッタ40によって分岐された同一の信号(以下、「下り信号」という。)が、当該OLT10とつながる全てのONU20へ転送される。すなわち、各ONU20には、自己のONU20宛のデータ以外のデータも転送される。そのため、各ONU20は、転送されたデータから自己のONU20宛のデータだけを抽出し、それ以外の(他のONU20宛の)データを廃棄する。 In downstream communication, the same signal (hereinafter referred to as the "downstream signal") transmitted from the OLT 10 and split by the optical splitter 40 is forwarded to all ONUs 20 connected to the OLT 10. In other words, data other than data addressed to the ONU 20 itself is also forwarded to each ONU 20. Therefore, each ONU 20 extracts only the data addressed to itself from the forwarded data, and discards the other data (addressed to other ONUs 20).

また、PON1では、ONU20からOLT10への方向の通信(以下、「上り通信」という。)においては、TDMA技術が用いられる。上り通信では、光スプリッタ40によって複数のONU20からの信号(以下、「上り信号」という。)が合波される。そのため、各ONU20からの上り信号が無秩序に送信された場合、光ファイバ30上で衝突を起こしてしまう可能性がある。そこで、TDMAは、ONU20からの上り信号の送信タイミングと上りデータの送信量とを制御することによって、各ONU20からの上り信号が光ファイバ30上で衝突することなく多重化されるように制御する。 In addition, in PON1, TDMA technology is used for communication from ONU 20 to OLT 10 (hereinafter referred to as "upstream communication"). In upstream communication, signals from multiple ONUs 20 (hereinafter referred to as "upstream signals") are multiplexed by optical splitter 40. Therefore, if the upstream signals from each ONU 20 are transmitted in a disorderly manner, there is a possibility that collisions will occur on the optical fiber 30. Therefore, TDMA controls the transmission timing of the upstream signals from ONU 20 and the transmission amount of upstream data so that the upstream signals from each ONU 20 are multiplexed without collisions on the optical fiber 30.

GE-PON及び10G-EPONをシステムとして動作させるために必要な機能の1つとしてDBA機能がある。DBA機能は、上り通信における帯域(以下、「上り帯域」という。)を、トラヒック量に応じて動的に割り当てる帯域制御機能である。DBA機能は、各ONU20からの上り通信のトラヒック(以下、「上りトラヒック」という。)に応じて、柔軟に上り帯域を割り当てることができる。DBA機能は、上りトラヒックが流れているONU20だけに上り帯域を割り当てるため、無駄なく上り帯域を使用することができる。DBA機能は、各ONU20に流れる上りトラヒックの状況に応じて、割り当てる帯域を適切に切り替えることで、未使用帯域を発生させることなく、効率的な上り帯域を実現する。 The DBA function is one of the functions required for GE-PON and 10G-EPON to operate as a system. The DBA function is a bandwidth control function that dynamically allocates the bandwidth for upstream communication (hereinafter referred to as "upstream bandwidth") according to the amount of traffic. The DBA function can flexibly allocate the upstream bandwidth according to the upstream communication traffic (hereinafter referred to as "upstream traffic") from each ONU 20. The DBA function allocates the upstream bandwidth only to ONUs 20 through which upstream traffic is flowing, so the upstream bandwidth can be used without waste. The DBA function realizes efficient upstream bandwidth without generating unused bandwidth by appropriately switching the allocated bandwidth according to the status of the upstream traffic flowing through each ONU 20.

GE-PON及び10G-EPONは、MPCP(Multi Point Control Protocol)と呼ばれるプロトコルを用いて上り信号の送信制御を行う。OLT10は、それぞれのONU20が時間的に衝突することなく上り信号を送信することができるように、それぞれのONU20に対して上り信号の送信開始時刻及び送信許可量を、GATEフレームによって指示する。 GE-PON and 10G-EPON use a protocol called MPCP (Multi Point Control Protocol) to control the transmission of upstream signals. The OLT 10 uses a GATE frame to instruct each ONU 20 on the start time of upstream signal transmission and the permitted transmission amount so that each ONU 20 can transmit upstream signals without time collisions.

一方、各ONU20は、自己のONU20の上り送信バッファに蓄積されている送信待ちの上りデータのデータ量を、REPORTフレームによってOLT10に伝える。このGATEフレームとREPORTフレームとが用いられることによって、DBA機能が実現される。 Meanwhile, each ONU 20 communicates the amount of upstream data waiting to be sent that is stored in the upstream transmission buffer of its own ONU 20 to the OLT 10 by a REPORT frame. The DBA function is realized by using this GATE frame and REPORT frame.

以下、DBA機能の仕組みを簡単に説明する。ONU20は、上りデータを受信すると、ひとまず上り送信バッファに上りデータを蓄積する。ONU20は、蓄積している上りデータのデータ量をREPORTフレームに記し、当該REPORTフレームをOLT10へ送信する。 Below is a brief explanation of how the DBA function works. When ONU 20 receives upstream data, it first stores the upstream data in an upstream transmission buffer. ONU 20 writes the amount of stored upstream data in a REPORT frame and transmits the REPORT frame to OLT 10.

OLT10は、受信したREPORTフレームから、ONU20に蓄積されている送信待ちの上りデータのデータ量を把握する。OLT10は、ONU20に割り当てるべき上り帯域を、当該ONU20の蓄積データ量及び他のONU20の使用帯域に基づいて計算する。具体的には、OLT10は、ONU20の上り信号の送信開始時刻と送信許可量とを算出する。OLT10は、算出した値をGATEフレームに記し、当該GATEフレームをONU20へ送信する。 From the received REPORT frame, OLT 10 determines the amount of upstream data stored in ONU 20 and waiting to be sent. OLT 10 calculates the upstream bandwidth to be allocated to ONU 20 based on the amount of stored data in that ONU 20 and the bandwidth used by other ONUs 20. Specifically, OLT 10 calculates the transmission start time and permitted transmission amount of the ONU 20's upstream signal. OLT 10 writes the calculated values in a GATE frame and transmits the GATE frame to ONU 20.

ONU20は、受信したGATEフレームに記された指示に従って、指定された送信開始時刻に、指定されたデータ量(送信許可量)の上りデータを送信する。このとき、ONU20は、次回の上り帯域の割当のために、上り送信バッファに蓄積されている上りデータのデータ量をOLT10へ再度通知することもある。 ONU 20 transmits the specified amount of data (permitted transmission amount) of upstream data at the specified transmission start time according to the instructions written in the received GATE frame. At this time, ONU 20 may notify OLT 10 again of the amount of upstream data stored in the upstream transmission buffer for the next allocation of upstream bandwidth.

上記の手順が繰り返されることで、OLT10は、各ONU20における上りトラヒックの状況を把握することができ、当該状況に応じて各ONU20に対し上り帯域を適切に割り当てることができる。 By repeating the above procedure, the OLT 10 can grasp the upstream traffic situation in each ONU 20 and appropriately allocate the upstream bandwidth to each ONU 20 according to the situation.

[ONUの構成]
以下、本実施形態におけるONU20の構成について説明する。図2は、本発明の実施形態におけるONU20の構成を示すブロック図である。図2に示されるように、ONU20は、TRx21と、MAC処理部22と、PHY23と、外付けバッファ24とを含んで構成される。
[ONU Configuration]
The configuration of the ONU 20 in this embodiment will be described below. Fig. 2 is a block diagram showing the configuration of the ONU 20 in this embodiment. As shown in Fig. 2, the ONU 20 includes a TRx 21, a MAC processing unit 22, a PHY 23, and an external buffer 24.

TRx(Transmitter/Receiver)21は、自装置とOLT10との間で光信号の送受信を行う光送受信器である。TRx21は、MAC処理部22から出力された上り送信用のデジタルデータ(電気信号)を光信号(上り信号)に変換して光ファイバ30に出力するとともに、OLT10から送信された光信号(下り信号)を受信し、受信された光信号をデジタルデータ(電気信号)に変換してMAC処理部22へ出力する。 The TRx (Transmitter/Receiver) 21 is an optical transmitter/receiver that transmits and receives optical signals between the device itself and the OLT 10. The TRx 21 converts the digital data (electrical signal) for upstream transmission output from the MAC processing unit 22 into an optical signal (upstream signal) and outputs it to the optical fiber 30, and also receives an optical signal (downstream signal) transmitted from the OLT 10, converts the received optical signal into digital data (electrical signal) and outputs it to the MAC processing unit 22.

MAC(Media Access Control)処理部22は、データの送受信を制御するデータリンク副層の機能部である。MAC処理部22は、一般にPONチップを用いて構成される。MAC処理部22は、バッファ設定部220と、内蔵バッファ221とを含んで構成される。バッファ設定部220は、内蔵バッファ221及び外付けバッファ24のバッファ量を設定する。なお、以下の説明において、内蔵バッファ221と外付けバッファ24とを併せて「上り送信バッファ」ということがある。 The MAC (Media Access Control) processing unit 22 is a functional unit of the data link sublayer that controls the transmission and reception of data. The MAC processing unit 22 is generally configured using a PON chip. The MAC processing unit 22 includes a buffer setting unit 220 and an internal buffer 221. The buffer setting unit 220 sets the buffer amount of the internal buffer 221 and the external buffer 24. In the following description, the internal buffer 221 and the external buffer 24 are sometimes collectively referred to as the "upstream transmission buffer."

内蔵バッファ221及び外付けバッファ24は、例えば磁気ハードディスク装置又は半導体記憶装置等の記憶媒体を用いて構成される。内蔵バッファ221及び外付けバッファ24は、PHY23によって受信される上りデータを蓄積する。内蔵バッファ221及び外付けバッファ24は、それぞれ複数の上り送信キューを備える。なお、以下の説明において、内蔵バッファ221の上り送信キューを「内蔵キュー」、及び、外付けバッファ24の上り送信キューを「外付けキュー」ということがある。 The built-in buffer 221 and the external buffer 24 are configured using a storage medium such as a magnetic hard disk device or a semiconductor storage device. The built-in buffer 221 and the external buffer 24 accumulate upstream data received by the PHY 23. The built-in buffer 221 and the external buffer 24 each have multiple upstream transmission queues. In the following description, the upstream transmission queue of the built-in buffer 221 may be referred to as the "built-in queue," and the upstream transmission queue of the external buffer 24 may be referred to as the "external queue."

PHY(PHYsical sublayer)23は、物理層の機能部である。PHY23は、自装置と下位装置(例えば、ユーザ通信端末等)とを接続する通信インタフェースである。PHY23は、下位装置から送信されたアナログ信号を取得してデジタル信号に変換し、変換されたデジタル信号をMAC処理部22へ出力する。また、PHY23は、MAC処理部22から出力されたデジタル信号を取得してアナログ信号に変換し、変換されたアナログ信号を下位装置へ送信する。 The PHY (PHYsical sublayer) 23 is a functional part of the physical layer. The PHY 23 is a communication interface that connects the device itself to a lower device (e.g., a user communication terminal, etc.). The PHY 23 acquires an analog signal transmitted from the lower device, converts it to a digital signal, and outputs the converted digital signal to the MAC processing unit 22. The PHY 23 also acquires a digital signal output from the MAC processing unit 22, converts it to an analog signal, and transmits the converted analog signal to the lower device.

[上り送信バッファの設定方法]
以下、本実施形態におけるONU20による上り送信バッファの設定方法について、具体例を用いて説明する。図3~5は、本発明の実施形態におけるONU20による上り送信バッファの設定処理を説明するための図である。
[How to set the upstream transmit buffer]
A specific example will now be described of a method for setting an upstream transmission buffer by the ONU 20 in this embodiment. Figures 3 to 5 are diagrams for explaining the upstream transmission buffer setting process by the ONU 20 in this embodiment of the present invention.

ここでは、ONU20の内蔵バッファ221及び外付けバッファ24は、それぞれ上り送信キューを4つずつ備えているものとする。図3に示されるように、内蔵バッファ221及び外付けバッファ24は、上り送信キュー#0から上り送信キュー#3までの4つの上り送信キューをそれぞれ備える。ここで、上り送信キュー#3が最も優先度が高く、次に上り送信キュー#2、上り送信キュー#1の順に優先度が設定されており、この順番で上りデータが上り送信キューに格納されるものとする。そして、ONU20は、送信キュー#3に格納された上りデータを最優先で送信し、同キューが空になった後に送信キュー#2に格納された上りデータを送信し、その後同様に、送信キュー#1、送信キュー#0の順に上りデータを送信する。 Here, it is assumed that the internal buffer 221 and the external buffer 24 of the ONU 20 each have four upstream transmission queues. As shown in FIG. 3, the internal buffer 221 and the external buffer 24 each have four upstream transmission queues, from upstream transmission queue #0 to upstream transmission queue #3. Here, the upstream transmission queue #3 has the highest priority, followed by upstream transmission queue #2 and upstream transmission queue #1, and the upstream data is stored in the upstream transmission queues in this order. Then, the ONU 20 transmits the upstream data stored in transmission queue #3 with the highest priority, and after that queue becomes empty, it transmits the upstream data stored in transmission queue #2, and then similarly transmits the upstream data in the order of transmission queue #1 and transmission queue #0.

以下、内蔵バッファ221の上り送信キュー#0~上り送信キュー#3をそれぞれ内蔵キューq#0~内蔵キューq#3といい、外付けバッファ24の上り送信キュー#0~上り送信キュー#3をそれぞれ外付けキューQ#0~外付けキューQ#3という。 Hereinafter, the upstream transmission queue #0 to the upstream transmission queue #3 of the internal buffer 221 will be referred to as the internal queue q#0 to the internal queue q#3, respectively, and the upstream transmission queue #0 to the upstream transmission queue #3 of the external buffer 24 will be referred to as the external queue Q#0 to the external queue Q#3, respectively.

バッファ設定部220は、内蔵キューq#0に割り当てられたバッファ量の範囲内に納まらなかった上りデータを外付けキューQ#0に格納する。同様に、バッファ設定部220は、内蔵キューq#1に割り当てられたバッファ量の範囲内に納まらなかった上りデータを外付けキューQ#1に格納し、内蔵キューq#2に割り当てられたバッファ量の範囲内に納まらなかった上りデータを外付けキューQ#2に格納し、内蔵キューq#3に割り当てられたバッファ量の範囲内に納まらなかった上りデータを外付けキューQ#3に格納する。このように、内蔵キューq#nと外付けキューQ#nとがそれぞれ対応する2段バッファとなっており、この1組の上り送信キューによって各上りデータが一時記憶される。 The buffer setting unit 220 stores in the external queue Q#0 the upstream data that does not fall within the buffer capacity allocated to the built-in queue q#0. Similarly, the buffer setting unit 220 stores in the external queue Q#1 the upstream data that does not fall within the buffer capacity allocated to the built-in queue q#1, stores in the external queue Q#2 the upstream data that does not fall within the buffer capacity allocated to the built-in queue q#2, and stores in the external queue Q#3 the upstream data that does not fall within the buffer capacity allocated to the built-in queue q#3. In this way, the built-in queue q#n and the external queue Q#n form corresponding two-stage buffers, and each upstream data is temporarily stored by this pair of upstream transmission queues.

まず、バッファ設定部220は、予め規定された装置や回線の保守監視機能(例えば、拡張OAM(Operation, Administration, and Maintenance)機能)からの指示に従って、内蔵キューq#0~内蔵キューq#3にそれぞれ設定したい上りデータのバッファ量(以下、単に「設定したいバッファ量」ともいう。)を決定する。 First, the buffer setting unit 220 determines the amount of upstream data buffering to be set in each of the built-in queues q#0 to q#3 (hereinafter simply referred to as the "buffer amount to be set") in accordance with instructions from a predefined device or line maintenance and monitoring function (e.g., an extended OAM (Operation, Administration, and Maintenance) function).

ここでは、図3に示されるように、内蔵キューq#0に設定したいバッファ量が600[KB]であり、内蔵キューq#1に設定したいバッファ量が300[KB]であり、内蔵キューq#2に設定したいバッファ量が200[KB]であり、内蔵キューq#3に設定したいバッファ量が100[KB]であるものとする。 As shown in FIG. 3, the buffer capacity to be set for built-in queue q#0 is 600 [KB], the buffer capacity to be set for built-in queue q#1 is 300 [KB], the buffer capacity to be set for built-in queue q#2 is 200 [KB], and the buffer capacity to be set for built-in queue q#3 is 100 [KB].

次に、バッファ設定部220は、上記決定された内蔵キューq#0~内蔵キューq#3にそれぞれ設定したいバッファ量を、内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量に換算する。ここでいう最低収容効率となるデータ長とは、上りデータが上り送信キューに収容される際にバッファ未使用領域が最も大きくなるデータ長である。バッファ設定部220は、上記換算されたバッファ量を、内蔵キューq#0~内蔵キューq#3にそれぞれ確保する上りデータのバッファ量(以下、単に「確保するバッファ量」ともいう。)として決定する。 The buffer setting unit 220 then converts the determined buffer amounts to be set for each of the built-in queues q#0 to q#3 into buffer amounts equivalent to the data length that provides the lowest storage efficiency in the built-in buffer 221. The data length that provides the lowest storage efficiency is the data length that provides the largest unused buffer space when upstream data is stored in the upstream transmission queue. The buffer setting unit 220 determines the converted buffer amounts as the buffer amounts for upstream data to be secured for each of the built-in queues q#0 to q#3 (hereinafter also simply referred to as "secured buffer amounts").

ここでは、内蔵バッファ221での最低収容効率は、1/1.5であるものとする。したがって、内蔵キューq#0に確保するバッファ量が、900[KB](=600×1.5)となり、内蔵キューq#1に確保するバッファ量が、450[KB](=300×1.5)となり、内蔵キューq#2に確保するバッファ量が、300[KB](=200×1.5)となり、内蔵キューq#3に確保するバッファ量が、150[KB](=100×1.5)となる。 Here, the minimum storage efficiency of the built-in buffer 221 is assumed to be 1/1.5. Therefore, the buffer capacity reserved for the built-in queue q#0 is 900 [KB] (= 600 x 1.5), the buffer capacity reserved for the built-in queue q#1 is 450 [KB] (= 300 x 1.5), the buffer capacity reserved for the built-in queue q#2 is 300 [KB] (= 200 x 1.5), and the buffer capacity reserved for the built-in queue q#3 is 150 [KB] (= 100 x 1.5).

次に、バッファ設定部220は、DBA機能の1周期当たりに最低限必要となるバッファ量を算出する。なお、DBA機能の1周期当たりに最低限必要となるバッファ量が算出される理由としては、1周期当たりに上りデータを出力することができるのは、内蔵バッファ221からのみであるというPONチップ上の制約からである。すなわち、バッファ設定部220は、DBA機能の1周期当たりにOLT10によって付与されうる最大の上りデータの送信許可量(Data Grant)分に相当するバッファ量を算出する(なお、上記と同様に、バッファ設定部220は、内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量に換算する)。 Next, the buffer setting unit 220 calculates the minimum buffer amount required per cycle of the DBA function. The reason why the minimum buffer amount required per cycle of the DBA function is calculated is due to the constraint on the PON chip that only the built-in buffer 221 can output upstream data per cycle. In other words, the buffer setting unit 220 calculates a buffer amount equivalent to the maximum upstream data transmission permission amount (Data Grant) that can be granted by the OLT 10 per cycle of the DBA function (note that, as above, the buffer setting unit 220 converts into a buffer amount equivalent to the data length that provides the minimum storage efficiency in the built-in buffer 221).

ここでは、付与されうる最大の上りデータの送信許可量(Data Grant)分のデータ長に相当するバッファ量が、525[KB]であるものとする。 Here, the buffer capacity equivalent to the data length of the maximum upstream data transmission permission amount (Data Grant) that can be granted is assumed to be 525 [KB].

次に、バッファ設定部220は、最も優先度が低い上り送信キューである内蔵キューq#0が最大の上りレートとなるようにバッファ量を割り当てる。具体的には、バッファ設定部220は、上記算出された内蔵キューq#0に確保するバッファ量(以下、「バッファ量A」ともいう。)と、上記算出された付与されうる最大の上りデータの送信許可量(Data Grant)分の内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量(以下、「バッファ量B」ともいう。)と、を比較する。バッファ設定部220は、バッファ量Aがバッファ量Bより多い場合には、内蔵キューq#0に対し、バッファ量Bを割り当てるように設定する。一方、バッファ設定部220は、バッファ量Aがバッファ量B以下である場合には、内蔵キューq#0に対し、バッファ量Aを割り当てるように設定する。 Next, the buffer setting unit 220 allocates a buffer amount so that the built-in queue q#0, which is the lowest priority upstream transmission queue, has the maximum upstream rate. Specifically, the buffer setting unit 220 compares the calculated buffer amount (hereinafter also referred to as "buffer amount A") to be secured in the built-in queue q#0 with the buffer amount (hereinafter also referred to as "buffer amount B") equivalent to the data length that is the minimum storage efficiency in the built-in buffer 221 for the calculated maximum amount of upstream data transmission permission (Data Grant) that can be granted. If the buffer amount A is greater than the buffer amount B, the buffer setting unit 220 sets the built-in queue q#0 to be allocated the buffer amount B. On the other hand, if the buffer amount A is equal to or less than the buffer amount B, the buffer setting unit 220 sets the built-in queue q#0 to be allocated the buffer amount A.

ここでは、上記の通り、バッファ量Aは900[KB]であり、バッファ量Bは525[KB]である。このように、バッファ量Aがバッファ量Bより多いことから、図3に示されるように、内蔵キューq#0に対し、525[KB]のバッファ量(バッファ量B)が割り当てられる。 As described above, in this example, buffer amount A is 900 [KB] and buffer amount B is 525 [KB]. Since buffer amount A is greater than buffer amount B, a buffer amount of 525 [KB] (buffer amount B) is allocated to built-in queue q#0, as shown in FIG. 3.

次に、バッファ設定部220は、外付けキューQ#0に実際に割り当てるバッファ量を算出する。具体的には、上記において内蔵キューq#0に対しバッファ量Bが割り当てられた場合に、バッファ設定部220は、内蔵キューq#0に確保するバッファ量のうち、上記の内蔵キューq#0に対するバッファ量の設定によって設定しきれなかった分のバッファ量を外付けキューQ#0に割り当てる(なお、バッファ設定部220は、外付けバッファ24での最低収容効率となるデータ長に相当するバッファ量に換算する)。 Next, the buffer setting unit 220 calculates the buffer amount to be actually allocated to the external queue Q#0. Specifically, when the buffer amount B is allocated to the built-in queue q#0 as described above, the buffer setting unit 220 allocates to the external queue Q#0 the buffer amount that cannot be fully set by setting the buffer amount for the built-in queue q#0 out of the buffer amount reserved for the built-in queue q#0 (note that the buffer setting unit 220 converts this into a buffer amount equivalent to the data length that provides the minimum storage efficiency in the external buffer 24).

ここでは、上記の通り、内蔵キューq#0に対し525[KB]のバッファ量が割り当てられている。この525[KB]のバッファ量は、内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量であることから、当初の内蔵キューq#0に設定したいバッファ量600[KB]うちの350[KB](=525÷1.5)分のバッファ量が内蔵キューq#0に対して割り当てられたことになる。したがって、外付けキューQ#0には、当初の内蔵キューq#0に設定したいバッファ量600[KB]うちの残りの250[KB](=600-350)分のバッファ量が割り当てられる必要がある。 Here, as described above, a buffer capacity of 525 [KB] is allocated to the built-in queue q#0. This buffer capacity of 525 [KB] is the buffer capacity equivalent to the data length that provides the lowest storage efficiency in the built-in buffer 221, so 350 [KB] (= 525 ÷ 1.5) of the 600 [KB] buffer capacity originally desired to be set in the built-in queue q#0 has been allocated to the built-in queue q#0. Therefore, the remaining 250 [KB] (= 600 - 350) of the 600 [KB] buffer capacity originally desired to be set in the built-in queue q#0 needs to be allocated to the external queue Q#0.

ここでは、外付けバッファ24での最低収容効率は、1/1.2であるものとする。したがって、図3に示されるように、外付けキューQ#0に対し300[KB](=250×1.2)のバッファ量が割り当てられる。 Here, the minimum storage efficiency of the external buffer 24 is assumed to be 1/1.2. Therefore, as shown in FIG. 3, a buffer capacity of 300 KB (= 250 x 1.2) is allocated to the external queue Q#0.

次に、バッファ設定部220は、内蔵バッファ221(内蔵キューq#0~内蔵キューq#3)の合計容量から上記内蔵キューq#0に対して割り当てられたバッファ量を差し引いた残りのバッファ量(以下、「バッファ量X」ともいう。)と、最も優先度が低い内蔵キューq#0以外の内蔵キューである内蔵キューq#1~内蔵キューq#3に確保するバッファ量の合計(以下、「バッファ量Y」ともいう。)と、を比較することでオーバーサブスクリプションが発生しうるか否かを判定する。 Then, the buffer setting unit 220 determines whether oversubscription is likely to occur by comparing the remaining buffer amount (hereinafter also referred to as "buffer amount X") obtained by subtracting the buffer amount allocated to the built-in queue q#0 from the total capacity of the built-in buffers 221 (built-in queues q#0 to q#3) with the total buffer amount (hereinafter also referred to as "buffer amount Y") reserved for the built-in queues q#1 to q#3 other than the built-in queue q#0 with the lowest priority.

例えば、内蔵キューq#0~内蔵キューq#2で内蔵バッファ221の合計容量の全てが使い切られた場合、内蔵キューq#3のバッファ量は0[KB]となる。この場合、内蔵キューq#3の上りデータが取得されたとしても、内蔵キューq#3は当該上りデータを格納することができない。これにより、当該上りデータは、内蔵バッファにてオーバーサブスクリプションが発生し、格納できないデータは外付けバッファへ格納される。 For example, if the total capacity of the built-in buffer 221 is used up by built-in queues q#0 to q#2, the buffer capacity of built-in queue q#3 will be 0 [KB]. In this case, even if upstream data is acquired from built-in queue q#3, built-in queue q#3 will not be able to store the upstream data. As a result, oversubscription of the upstream data occurs in the built-in buffer, and the data that cannot be stored is stored in the external buffer.

次に、バッファ設定部220は、バッファ量Xがバッファ量Yより多い場合には、内蔵キューq#1~内蔵キューq#3に対して、それぞれ、上記の内蔵キューq#1~内蔵キューq#3に確保するバッファ量を割り当てる。一方、バッファ設定部220は、バッファ量Xがバッファ量Y以下である場合には、バッファ量Xを上記の内蔵キューq#1~内蔵キューq#3にそれぞれ設定したいバッファ量の比によって分配し、内蔵キューq#1~内蔵キューq#3に対してそれぞれ割り当てる。上記のように、バッファ量Xが内蔵キューq#1~内蔵キューq#3にそれぞれ設定したいバッファ量の比によって分配することで、内蔵バッファにおける上りデータのオーバーサブスクリプションの発生が回避される。 Next, when the buffer amount X is greater than the buffer amount Y, the buffer setting unit 220 allocates the buffer amount to be secured for the built-in queues q#1 to q#3 to the built-in queues q#1 to q#3. On the other hand, when the buffer amount X is equal to or less than the buffer amount Y, the buffer setting unit 220 distributes the buffer amount X to the built-in queues q#1 to q#3 in accordance with the ratio of the buffer amount to be set for each of the built-in queues q#1 to q#3, and allocates the buffer amount X to the built-in queues q#1 to q#3. As described above, by distributing the buffer amount X to the built-in queues q#1 to q#3 in accordance with the ratio of the buffer amount to be set for each of the built-in queues q#1 to q#3, oversubscription of upstream data in the built-in buffer is avoided.

ここでは、図4に示されるように、内蔵バッファ221(内蔵キューq#0~内蔵キューq#3)の合計容量が1[MB](=1,024[KB])であるものとする。上記の通り、内蔵キューq#0に対して525[KB]のバッファ量が割り当てられている。そのため、内蔵キューq#1~内蔵キューq#3に割り当て可能なバッファ量(すなわち、バッファ量X)は、残りの499[KB](=1,024-525)である。 As shown in FIG. 4, the total capacity of the built-in buffer 221 (built-in queue q#0 to built-in queue q#3) is assumed to be 1 MB (= 1,024 KB). As described above, a buffer capacity of 525 KB is allocated to built-in queue q#0. Therefore, the buffer capacity (i.e., buffer capacity X) that can be allocated to built-in queues q#1 to q#3 is the remaining 499 KB (= 1,024 - 525).

また、図4に示されるように、内蔵バッファQ#1~Q#3に必要なバッファ量は、それぞれ、450[KB]、300[KB]、及び150[KB]である。そのため、これらのバッファ量(すなわち、バッファ量Y)の合計は900[KB]となり、499[KB]を超過する。したがって、バッファ量Xがバッファ量Y以下であることから、オーバーサブスクリプションが発生しうると判定され、499[KB]のバッファ量が、上記の内蔵キューq#1~内蔵キューq#3にそれぞれ設定したいバッファ量の比によって分配され、内蔵キューq#1~内蔵キューq#3に対してそれぞれ割り当てられる。 As shown in FIG. 4, the buffer amounts required for the built-in buffers Q#1 to Q#3 are 450 [KB], 300 [KB], and 150 [KB], respectively. Therefore, the sum of these buffer amounts (i.e., buffer amount Y) is 900 [KB], which exceeds 499 [KB]. Therefore, since the buffer amount X is less than or equal to the buffer amount Y, it is determined that oversubscription may occur, and the buffer amount of 499 [KB] is distributed according to the ratio of the buffer amounts to be set for the built-in queues q#1 to q#3, and is assigned to the built-in queues q#1 to q#3, respectively.

具体的には、図4に示されるように、内蔵キューq#1には249[KB](≒499×300/(300+200+100))のバッファ量が割り当てられ、内蔵キューq#2には166[KB](≒499×200/(300+200+100))のバッファ量が割り当てられ、内蔵キューq#3には83[KB](≒499×100/(300+200+100))のバッファ量が割り当てられる。 Specifically, as shown in FIG. 4, the built-in queue q#1 is assigned a buffer capacity of 249 KB (≈499×300/(300+200+100)), the built-in queue q#2 is assigned a buffer capacity of 166 KB (≈499×200/(300+200+100)), and the built-in queue q#3 is assigned a buffer capacity of 83 KB (≈499×100/(300+200+100)).

次に、バッファ設定部220は、外付けキューQ#1~外付けキューQ#3にそれぞれ割り当てるバッファ量を算出する。具体的には、上記においてバッファ量Xがバッファ量Y以下である場合に、バッファ設定部220は、外付けキューQ#1~外付けキューQ#3にそれぞれ確保するバッファ量のうち、上記の内蔵キューq#1~内蔵キューq#3に対するバッファ量の設定によって設定しきれなかった分のバッファ量を、外付けキューQ#1~外付けキューQ#3にそれぞれ割り当てる(なお、バッファ設定部220は、外付けバッファ24での最低収容効率となるデータ長に相当するバッファ量に換算する)。 Next, the buffer setting unit 220 calculates the buffer amount to be allocated to each of the external queues Q#1 to Q#3. Specifically, when the buffer amount X is equal to or less than the buffer amount Y, the buffer setting unit 220 allocates to each of the external queues Q#1 to Q#3 the buffer amount that cannot be set by setting the buffer amount for the built-in queues q#1 to q#3, out of the buffer amount secured for each of the external queues Q#1 to Q#3 (note that the buffer setting unit 220 converts this into a buffer amount equivalent to the data length that provides the lowest storage efficiency in the external buffer 24).

ここでは、上記の通り、内蔵キューq#1に対し249[KB]のバッファ量が割り当てられている。この249[KB]は物理サイズであることから、当初の内蔵キューq#1に設定したいバッファ量300[KB]うちの166[KB](≒249÷1.5)分のバッファ量が内蔵キューq#1に対して割り当てられたことになる。したがって、外付けキューQ#1には、当初の内蔵キューq#1に設定したいバッファ量300[KB]うちの残りの134[KB](=300-166)分のバッファ量が割り当てられる必要がある。 Here, as described above, a buffer capacity of 249 [KB] is allocated to the built-in queue q#1. Since this 249 [KB] is the physical size, 166 [KB] (≒ 249 ÷ 1.5) of the 300 [KB] buffer capacity originally desired to be set for the built-in queue q#1 has been allocated to the built-in queue q#1. Therefore, the remaining 134 [KB] (= 300 - 166) of the 300 [KB] buffer capacity originally desired to be set for the built-in queue q#1 must be allocated to the external queue Q#1.

ここでは、前述の通り、外付けバッファ24での最低収容効率は1/1.2としている。したがって、図5に示されるように、外付けキューQ#1に対し161[KB](≒134×1.2)のバッファ量が割り当てられる。 As mentioned above, the minimum storage efficiency of the external buffer 24 is set to 1/1.2. Therefore, as shown in FIG. 5, a buffer capacity of 161 KB (≈134 x 1.2) is allocated to the external queue Q#1.

また、ここでは、上記の通り、内蔵キューq#2に対し166[KB]のバッファ量が割り当てられている。この166[KB]のバッファ量は、内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量であることから、当初の内蔵キューq#2に設定したいバッファ量200[KB]うちの111[KB](≒166÷1.5)分のバッファ量が内蔵キューq#2に対して割り当てられたことになる。したがって、外付けキューQ#2には、当初の内蔵キューq#2に設定したいバッファ量200[KB]うちの残りの89[KB](=200-111)分のバッファ量が割り当てられる必要がある。 Also, here, as described above, a buffer capacity of 166 [KB] is allocated to the built-in queue q#2. This buffer capacity of 166 [KB] is the buffer capacity equivalent to the data length that provides the lowest storage efficiency in the built-in buffer 221, so 111 [KB] (≒166÷1.5) of the 200 [KB] buffer capacity originally desired to be set for the built-in queue q#2 has been allocated to the built-in queue q#2. Therefore, the remaining 89 [KB] (=200-111) of the 200 [KB] buffer capacity originally desired to be set for the built-in queue q#2 needs to be allocated to the external queue Q#2.

ここでは、前述の通り、外付けバッファ24での最低収容効率は1/1.2としている。したがって、図5に示されるように、外付けキューQ#2に対し107[KB](≒89×1.2)のバッファ量が割り当てられる。 As mentioned above, the minimum storage efficiency of the external buffer 24 is set to 1/1.2. Therefore, as shown in FIG. 5, a buffer capacity of 107 KB (≈89 x 1.2) is allocated to the external queue Q#2.

また、ここでは、上記の通り、内蔵キューq#3に対し83[KB]のバッファ量が割り当てられている。この83[KB]のバッファ量は、内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量であることから、当初の内蔵キューq#3に設定したいバッファ量100[KB]うちの55[KB](≒83÷1.5)分のバッファ量が内蔵キューq#3に対して割り当てられたことになる。したがって、外付けキューQ#3には、当初の内蔵キューq#3に設定したいバッファ量100[KB]うちの残りの45[KB](=100-55)分のバッファ量が割り当てられる必要がある。 Also, here, as described above, a buffer capacity of 83 [KB] is allocated to the built-in queue q#3. This buffer capacity of 83 [KB] is the buffer capacity equivalent to the data length that provides the lowest storage efficiency in the built-in buffer 221, so 55 [KB] (≒ 83 ÷ 1.5) of the 100 [KB] buffer capacity originally desired to be set for the built-in queue q#3 has been allocated to the built-in queue q#3. Therefore, the remaining 45 [KB] (= 100 - 55) of the 100 [KB] buffer capacity originally desired to be set for the built-in queue q#3 needs to be allocated to the external queue Q#3.

ここでは、前述の通り、外付けバッファ24での最低収容効率は1/1.2としている。したがって、図5に示されるように、外付けキューQ#3に対し54[KB](=45×1.2)のバッファ量が割り当てられる。 As mentioned above, the minimum storage efficiency of the external buffer 24 is set to 1/1.2. Therefore, as shown in FIG. 5, a buffer capacity of 54 KB (= 45 x 1.2) is allocated to the external queue Q#3.

[ONUの動作]
以下、本実施形態におけるONU20の上り送信バッファの設定処理時における動作について説明する。図6は、本発明の実施形態におけるONU20の動作の一例を示すフローチャートである。なお、ここでは、内蔵バッファ221及び外付けバッファ24は、n個(nは、1以上の整数)の上り送信キューをそれぞれ備えているものとする。
[ONU Operation]
The operation of the ONU 20 in this embodiment during the setting process of the upstream transmission buffer will be described below. Fig. 6 is a flowchart showing an example of the operation of the ONU 20 in this embodiment. Note that here, it is assumed that the built-in buffer 221 and the external buffer 24 each have n (n is an integer equal to or greater than 1) upstream transmission queues.

まず、バッファ設定部220は、PHY23から取得した上りデータに基づいて、内蔵キューq#0~内蔵キューq#n-1にそれぞれ設定したいバッファ量を決定する(ステップS01)。 First, the buffer setting unit 220 determines the buffer amount to be set for each of the built-in queues q#0 to q#n-1 based on the upstream data acquired from the PHY 23 (step S01).

次に、バッファ設定部220は、ステップS01において決定された内蔵キューq#0~内蔵キューq#n-1にそれぞれ設定したいバッファ量を、内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量に換算する(ステップS02)。バッファ設定部220は、上記換算されたバッファ量を、内蔵キューq#0~内蔵キューq#n-1にそれぞれ確保するバッファ量として決定する。 Then, the buffer setting unit 220 converts the buffer amounts to be set for each of the built-in queues q#0 to q#n-1 determined in step S01 into buffer amounts equivalent to the data length that provides the lowest storage efficiency in the built-in buffer 221 (step S02). The buffer setting unit 220 determines the converted buffer amounts as the buffer amounts to be secured for each of the built-in queues q#0 to q#n-1.

次に、バッファ設定部220は、DBA機能の1周期当たりに最低限必要となるバッファ量を算出する(ステップS03)。 Next, the buffer setting unit 220 calculates the minimum amount of buffer required per cycle of the DBA function (step S03).

次に、バッファ設定部220は、最も優先度が低い上り送信キューである内蔵キューq#m(mは、0≦m≦n-1となる整数)が最大の上りレートとなるようにバッファ量を割り当てる。具体的には、バッファ設定部220は、上記算出された内蔵キューq#mに確保するバッファ量(バッファ量A)と、上記算出された付与されうる最大の上りデータの送信許可量(Data Grant)分の内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量(バッファ量B)とを比較する。バッファ設定部220は、バッファ量Aがバッファ量Bより多い場合には、内蔵キューq#mに対し、バッファ量Bを割り当てるように設定する。一方、バッファ設定部220は、バッファ量Aがバッファ量B以下である場合には、内蔵キューq#mに対し、バッファ量Aを割り当てるように設定する(ステップS04)。 Next, the buffer setting unit 220 allocates a buffer amount so that the built-in queue q#m (m is an integer satisfying 0≦m≦n-1), which is the lowest priority upstream transmission queue, has the maximum upstream rate. Specifically, the buffer setting unit 220 compares the calculated buffer amount (buffer amount A) to be secured in the built-in queue q#m with the buffer amount (buffer amount B) corresponding to the data length that is the minimum storage efficiency in the built-in buffer 221 for the calculated maximum amount of upstream data transmission permission (Data Grant) that can be granted. If the buffer amount A is greater than the buffer amount B, the buffer setting unit 220 sets the built-in queue q#m to be allocated the buffer amount B. On the other hand, if the buffer amount A is equal to or less than the buffer amount B, the buffer setting unit 220 sets the built-in queue q#m to be allocated the buffer amount A (step S04).

次に、バッファ設定部220は、最も優先度が低い上り送信キューである内蔵キューq#mに対応する外付けキューQ#mにバッファ量の割り当てが必要か否かを判定する(ステップS05)。具体的には、バッファ設定部220は、内蔵キューq#mに確保するバッファ量のうち、上記ステップS04における内蔵キューq#mに対するバッファ量の設定によって設定しきれなかった分のバッファ量がある場合(すなわち、内蔵キューq#mに対し、バッファ量Bが割り当てられた場合)に、外付けキューQ#mにバッファ量を割り当てる必要が有ると判定する。 Next, the buffer setting unit 220 determines whether or not a buffer amount needs to be allocated to the external queue Q#m corresponding to the built-in queue q#m, which is the lowest priority upstream transmission queue (step S05). Specifically, the buffer setting unit 220 determines that a buffer amount needs to be allocated to the external queue Q#m when there is a buffer amount that cannot be fully set by setting the buffer amount for the built-in queue q#m in step S04 among the buffer amounts secured in the built-in queue q#m (i.e., when the buffer amount B is allocated to the built-in queue q#m).

外付けキューQ#mにバッファ量の割り当てが必要であると判定された場合(ステップS05・YES)、バッファ設定部220は、内蔵キューq#0に確保するバッファ量のうち、上記の内蔵キューq#0に対するバッファ量の設定によって設定しきれなかった分のバッファ量を外付けキューQ#0に割り当てる(ステップS06)。 If it is determined that a buffer capacity needs to be allocated to the external queue Q#m (step S05: YES), the buffer setting unit 220 allocates to the external queue Q#0 the buffer capacity reserved in the built-in queue q#0 that could not be fully set by setting the buffer capacity for the built-in queue q#0 (step S06).

次に、バッファ設定部220は、内蔵バッファ221(内蔵キューq#0~内蔵キューq#n-1)の合計容量から上記内蔵キューq#mに対して割り当てられたバッファ量を差し引いた残りのバッファ量(バッファ量X)と、最も優先度が低い内蔵キューq#m以外の内蔵バッファに確保するバッファ量の合計(バッファ量Y)と、を比較することでオーバーサブスクリプションが発生しうるか否かを判定する(ステップS07)。 Next, the buffer setting unit 220 determines whether or not oversubscription may occur by comparing the remaining buffer amount (buffer amount X) obtained by subtracting the buffer amount allocated to the above-mentioned built-in queue q#m from the total capacity of the built-in buffers 221 (built-in queues q#0 to q#n-1) with the total buffer amount (buffer amount Y) reserved in the built-in buffers other than the built-in queue q#m with the lowest priority (step S07).

次に、バッファ設定部220は、バッファ量Xがバッファ量Yより多い場合(すなわち、オーバーサブスクリプションが発生しないと判例された場合。ステップS07・NO)には、内蔵キューq#m以外の各内蔵キューに対して、それぞれ所望のバッファ量(すなわち、内蔵キューq#m以外の各内蔵キューに確保するバッファ量)を割り当てる(ステップS08)。 Next, if the buffer amount X is greater than the buffer amount Y (i.e., if it is determined that oversubscription will not occur; step S07: NO), the buffer setting unit 220 allocates the desired buffer amount (i.e., the buffer amount to be secured for each built-in queue other than the built-in queue q#m) to each built-in queue other than the built-in queue q#m (step S08).

一方、バッファ設定部220は、バッファ量Xがバッファ量Y以下である場合(すなわち、オーバーサブスクリプションが発生しうると判定された場合。ステップS07・YES)には、バッファ量Xを上記の内蔵キューq#m以外の各内蔵キューにそれぞれ設定したいバッファ量の比によって分配し、内蔵キューq#m以外の各内蔵キューに対してそれぞれ割り当てる(ステップS09)。 On the other hand, if the buffer amount X is equal to or less than the buffer amount Y (i.e., if it is determined that oversubscription may occur; step S07: YES), the buffer setting unit 220 distributes the buffer amount X to each built-in queue other than the built-in queue q#m according to the ratio of the buffer amounts to be set, and allocates the amount to each built-in queue other than the built-in queue q#m (step S09).

次に、バッファ設定部220は、外付けキューQ#m以外の各外付けキューにそれぞれ割り当てるバッファ量を算出する。具体的には、上記においてバッファ量Xがバッファ量Y以下である場合に(ステップS07・YES)、バッファ設定部220は、外付けキューQ#m以外の各外付けキューにそれぞれ確保するバッファ量のうち、上記の内蔵キューq#m以外の各内蔵キューに対するバッファ量の設定によって設定しきれなかった分のバッファ量を、Q#m以外の各外付けキューにそれぞれ割り当てる(なお、バッファ設定部220は、外付けバッファ24での最低収容効率となるデータ長に相当するバッファ量に換算する)(ステップS10)。以上で、図6のフローチャートが示すONU20の動作が終了する。 Next, the buffer setting unit 220 calculates the buffer amount to be allocated to each external queue other than the external queue Q#m. Specifically, if the buffer amount X is equal to or less than the buffer amount Y (step S07, YES), the buffer setting unit 220 allocates the buffer amount that cannot be set by setting the buffer amount for each internal queue other than the internal queue q#m out of the buffer amount secured for each external queue other than the external queue Q#m to each external queue other than Q#m (note that the buffer setting unit 220 converts this into a buffer amount equivalent to the data length that provides the lowest storage efficiency in the external buffer 24) (step S10). This completes the operation of the ONU 20 shown in the flowchart of FIG. 6.

以上説明したように、本実施形態におけるONU20は、上り送信キューごとの設定したいバッファ量に対し、当該バッファ量を内蔵バッファ221で最低収容効率となる場合のバッファ量に換算する。ONU20は、まず優先度が最も低い上り送信キューに内蔵バッファ221を優先的に割り当てる。このとき、ONU20は、設定したいバッファ量がDBA機能の1周期当たりに最低限必要なバッファ量より大きい場合には、当該最低限必要なバッファ量を内蔵バッファ221に割り当て、残りのバッファ量を外付けバッファ24に割り当てる。 As described above, in this embodiment, the ONU 20 converts the buffer amount to be set for each upstream transmission queue into the buffer amount when the built-in buffer 221 provides the lowest capacity. The ONU 20 first preferentially allocates the built-in buffer 221 to the upstream transmission queue with the lowest priority. At this time, if the buffer amount to be set is greater than the minimum buffer amount required per cycle of the DBA function, the ONU 20 allocates the minimum required buffer amount to the built-in buffer 221, and allocates the remaining buffer amount to the external buffer 24.

このような構成を備えることで、本実施形態におけるONU20は、2段構成の上り送信バッファのバッファ量を適切に設定することができる。具体的には、外付けバッファ24は、内蔵バッファ221に収まらない上りデータを格納する。そしてベストエフォートクラスとして想定されたクラスであって、バッファの必要量が最も多いクラスである上り送信キュー#0に、十分なバッファ量を割り当てつつ、帯域保証クラスとして想定されたクラスである上り送信キュー#1~3に、DBA機能の1周期当たりに保証されているデータ量のみを内蔵バッファ221に確保することで、優先度に基づき効率的に上りデータを送信することができる。なお、ここでいうベストエフォートクラスとは、一般的なインターネットと同様の経済性や自由度を優先する通信サービスを提供するための品質クラスである。また、ここでいう帯域保証クラスとは、優先クラスであり、例えば、テレビ電話や、映像配信のようなリアルタイム性が要求される通信サービスの提供に適した品質クラスである。これにより、本実施形態におけるONU20によれば、低価格低容量のバッファを組み合わせて用いることが可能になり、より安価にONU20の必要性能を満たす構成とすることができる。よって、本実施形態におけるONU20によれば、送信データをバッファリングする機器をより低いコストで実装することができる。 With such a configuration, the ONU 20 in this embodiment can appropriately set the buffer amount of the two-stage upstream transmission buffer. Specifically, the external buffer 24 stores the upstream data that does not fit in the built-in buffer 221. Then, while allocating a sufficient buffer amount to the upstream transmission queue #0, which is the class assumed to be the best effort class and has the largest buffer requirement, the upstream transmission queues #1 to #3, which are the classes assumed to be the bandwidth guaranteed classes, are secured in the built-in buffer 221 with only the data amount guaranteed per cycle of the DBA function, so that the upstream data can be transmitted efficiently based on priority. The best effort class here is a quality class for providing communication services that prioritize economy and freedom similar to the general Internet. The bandwidth guaranteed class here is a priority class, for example, a quality class suitable for providing communication services that require real-time performance such as video telephony and video distribution. As a result, according to the ONU 20 in this embodiment, it is possible to use a combination of low-cost, low-capacity buffers, and a configuration that meets the necessary performance of the ONU 20 at a lower cost can be achieved. Therefore, with the ONU 20 in this embodiment, equipment for buffering transmission data can be implemented at lower cost.

また、以上説明したように、本実施形態におけるONU20は、優先度が最も低い上り送信キュー以外の上り送信キューに対して、残りのバッファ量を割り当てる。このとき、ONU20は、設定したいバッファ量が内蔵バッファ221の合計容量を超えるオーバーサブスクリプションが発生しうる場合には、優先度が最も低い上り送信キュー以外の上り送信キューに対して、設定したいバッファ量の比で残りの合計容量を分配したバッファ量をそれぞれ割り当てる。 As described above, in this embodiment, ONU 20 allocates the remaining buffer capacity to upstream transmission queues other than the upstream transmission queue with the lowest priority. At this time, if oversubscription occurs in which the buffer capacity to be set exceeds the total capacity of the built-in buffer 221, ONU 20 allocates a buffer capacity obtained by distributing the remaining total capacity in the ratio of the buffer capacity to be set to each of the upstream transmission queues other than the upstream transmission queue with the lowest priority.

このような構成を備えることで、本実施形態におけるONU20は、オーバーサブスクリプションの発生を防ぐことができ、外付けバッファ24に必要なバッファ量の増大を抑制することができる。 By having such a configuration, the ONU 20 in this embodiment can prevent oversubscription and suppress an increase in the amount of buffer required for the external buffer 24.

上述した実施形態によれば、バッファ割り当て装置は、取得部と、設定部とを備える。
例えば、バッファ割り当て装置は、実施形態におけるONU20あるいはMAC処理部22であり、取得部は、実施形態におけるMAC処理部22の一部であり、設定部は、実施形態におけるバッファ設定部220である。取得部は、複数のキューの各々に対する要求バッファ量を示す情報を取得する。例えば、複数のキューは、実施形態における上り送信キュー#0~上り送信キュー#nであり、要求バッファ量は、実施形態における内蔵キューq#0~内蔵キューq#nにそれぞれ設定したい上りデータのバッファ量である。
According to the above-described embodiment, the buffer allocation device includes an acquisition unit and a setting unit.
For example, the buffer allocation device is the ONU 20 or the MAC processing unit 22 in the embodiment, the acquisition unit is a part of the MAC processing unit 22 in the embodiment, and the setting unit is the buffer setting unit 220 in the embodiment. The acquisition unit acquires information indicating the requested buffer amount for each of the multiple queues. For example, the multiple queues are the upstream transmission queue #0 to the upstream transmission queue #n in the embodiment, and the requested buffer amount is the buffer amount of upstream data to be set in each of the built-in queues q#0 to q#n in the embodiment.

設定部は、キューごとの要求バッファ量を第1の記憶部で生じうる最も低いデータ収容効率に基づいて第1最低換算バッファ量にそれぞれ換算する。例えば、第1の記憶部は、実施形態における内蔵バッファ221であり、第1最低換算バッファ量は、実施形態における内蔵バッファ221での最低収容効率となるデータ長に相当するバッファ量である。設定部は、第1の記憶部の最も優先度の低いキューに対して、第1最低換算バッファ量と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当てる。例えば、第1の記憶部の最も優先度の低いキューは、実施形態における内蔵キューq#0であり、動的帯域割当機能は、実施形態におけるDBA機能である。前記設定部は、第1の記憶部の最も優先度の低いキュー以外のキューに対して、第1の記憶部の合計容量から第1の記憶部の最も優先度の低いキューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、第1の記憶部の最も優先度の低いキュー以外のキューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる。例えば、第1の記憶部の最も優先度の低いキュー以外のキューは、実施形態における内蔵キューq#1~内蔵キューq#nである。 The setting unit converts the requested buffer amount for each queue into a first minimum conversion buffer amount based on the lowest data storage efficiency that can occur in the first storage unit. For example, the first storage unit is the built-in buffer 221 in the embodiment, and the first minimum conversion buffer amount is a buffer amount corresponding to a data length that is the lowest storage efficiency in the built-in buffer 221 in the embodiment. The setting unit assigns a buffer amount calculated based on the first minimum conversion buffer amount and the minimum buffer amount required per cycle of the dynamic bandwidth allocation function to the lowest priority queue of the first storage unit. For example, the lowest priority queue of the first storage unit is the built-in queue q#0 in the embodiment, and the dynamic bandwidth allocation function is the DBA function in the embodiment. The setting unit assigns a buffer amount calculated based on the first buffer amount, which is the buffer amount obtained by subtracting the buffer amount assigned to the lowest priority queue of the first storage unit from the total capacity of the first storage unit, and the second buffer amount, which is the sum of the first minimum conversion buffer amounts of queues other than the lowest priority queue of the first storage unit, to queues other than the lowest priority queue of the first storage unit. For example, the queues other than the lowest priority queue in the first storage unit are built-in queues q#1 to q#n in the embodiment.

なお、上記のバッファ割り当て装置において、設定部は、第1の記憶部の最も優先度の低いキュー以外のキューに対して、第1バッファ量が第2バッファ量より多い場合は第1最低換算バッファ量をそれぞれ割り当て、第1バッファ量が第2バッファ量以下である場合は第1の記憶部の最も優先度の低い前記キュー以外のキューの要求バッファ量の比で第2バッファ量を分配したバッファ量をそれぞれ割り当てるようにしてもよい。 In the above-mentioned buffer allocation device, the setting unit may allocate the first minimum conversion buffer amount to each queue other than the lowest priority queue in the first storage unit when the first buffer amount is greater than the second buffer amount, and may allocate a buffer amount obtained by distributing the second buffer amount in a ratio of the requested buffer amount of the queue other than the lowest priority queue in the first storage unit when the first buffer amount is equal to or less than the second buffer amount.

なお、上記のバッファ割り当て装置において、設定部は、第1最低換算バッファ量と動的帯域割当機能の1周期当たりに最低限必要なバッファ量を示す必要バッファ量とを比較し、第1最低換算バッファ量が必要バッファ量より多い場合には第1の記憶部の最も優先度の低いキューに対して必要バッファ量を割り当て、第1最低換算バッファ量が必要バッファ量以下である場合には第1の記憶部の最も優先度の低いキューに対して第1最低換算バッファ量を割り当てるようにしてもよい。例えば、必要バッファ量は、実施形態におけるDBA機能の1周期当たりにOLT10によって付与されうる最大の上りデータの送信許可量(Data Grant)分に相当するデータ長に相当するバッファ量である。 In the above-mentioned buffer allocation device, the setting unit may compare the first minimum conversion buffer amount with a required buffer amount indicating the minimum buffer amount required per one cycle of the dynamic bandwidth allocation function, and if the first minimum conversion buffer amount is greater than the required buffer amount, allocate the required buffer amount to the lowest priority queue of the first storage unit, and if the first minimum conversion buffer amount is equal to or less than the required buffer amount, allocate the first minimum conversion buffer amount to the lowest priority queue of the first storage unit. For example, the required buffer amount is a buffer amount equivalent to a data length equivalent to the maximum upstream data transmission grant amount (Data Grant) that can be granted by the OLT 10 per one cycle of the DBA function in the embodiment.

なお、上記のバッファ割り当て装置において、設定部は、第1の記憶部の最も優先度の低いキューに設定されなかった分のバッファ量を第2の記憶部で生じうる最も低いデータ収容効率に基づいて第2最低換算バッファ量に換算し、第2の記憶部の最も優先度の低いキューに対して第2最低換算バッファ量を割り当てるようにしてもよい。例えば、第2の記憶部は、実施形態における外付けバッファ24であり、第2最低換算バッファ量は、実施形態における外付けバッファ24での最低収容効率となるデータ長に相当するバッファ量であり、第2の記憶部の最も優先度の低いキューは、実施形態における外付けキューQ#0である。 In the above-mentioned buffer allocation device, the setting unit may convert the buffer amount that is not set for the lowest priority queue of the first storage unit into a second minimum converted buffer amount based on the lowest data storage efficiency that can occur in the second storage unit, and allocate the second minimum converted buffer amount to the lowest priority queue of the second storage unit. For example, the second storage unit is the external buffer 24 in the embodiment, the second minimum converted buffer amount is a buffer amount corresponding to a data length that results in the lowest storage efficiency in the external buffer 24 in the embodiment, and the lowest priority queue of the second storage unit is the external queue Q#0 in the embodiment.

なお、上記のバッファ割り当て装置において、設定部は、第1の記憶部の最も優先度の低いキュー以外のキューに設定されなかった分のバッファ量を第2の記憶部で生じうる最も低いデータ収容効率に基づいて第2最低換算バッファ量に換算し、第2の記憶部の最も優先度の低い前記キュー以外のキューに対して第2最低換算バッファ量を割り当てるようにしてもよい。例えば、第2の記憶部の最も優先度の低いキュー以外のキューは、実施形態における外付けキューQ#1~外付けキューQ#n-1である。 In the above-mentioned buffer allocation device, the setting unit may convert the buffer amount that is not set for queues other than the lowest priority queue in the first storage unit into a second minimum converted buffer amount based on the lowest data storage efficiency that can occur in the second storage unit, and allocate the second minimum converted buffer amount to queues other than the lowest priority queue in the second storage unit. For example, the queues other than the lowest priority queue in the second storage unit are external queues Q#1 to Q#n-1 in the embodiment.

上述した実施形態におけるONU20の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記録装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものを含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。 A part or all of the ONU 20 in the above-mentioned embodiment may be realized by a computer. In that case, a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed to realize the function. Note that the term "computer system" here includes the OS and hardware of peripheral devices. Furthermore, the term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, and recording devices such as hard disks built into a computer system. Furthermore, the term "computer-readable recording medium" may include a medium that dynamically holds a program for a short period of time, such as a communication line when a program is transmitted via a network such as the Internet or a communication line such as a telephone line, and a medium that holds a program for a certain period of time, such as a volatile memory inside a computer system that is a server or client in such a case. Furthermore, the above-mentioned program may be a program for realizing a part of the above-mentioned function, or may be a program that can realize the above-mentioned function in combination with a program already recorded in the computer system, or may be a program that is realized using a programmable logic device such as an FPGA (Field Programmable Gate Array).

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The above describes an embodiment of the present invention in detail with reference to the drawings, but the specific configuration is not limited to this embodiment, and includes designs that do not deviate from the gist of the present invention.

1・・・PON、10・・・OLT、20・・・ONU、21・・・TRx、22・・・MAC処理部、23・・・PHY、24・・・外付けバッファ、30・・・光ファイバ、40・・・光スプリッタ、220・・・バッファ設定部、221・・・内蔵バッファ 1: PON, 10: OLT, 20: ONU, 21: TRx, 22: MAC processing unit, 23: PHY, 24: external buffer, 30: optical fiber, 40: optical splitter, 220: buffer setting unit, 221: built-in buffer

Claims (8)

複数のキューの各々に対して要求バッファ量を示す情報を取得する取得部と、
前記キューごとの前記要求バッファ量を第1の記憶部で生じうる最も低いデータ収容効率に基づいて第1最低換算バッファ量にそれぞれ換算し、前記第1の記憶部の最も優先度の低い前記キューに対して、前記第1最低換算バッファ量と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに対して、前記第1の記憶部の合計容量から前記第1の記憶部の最も優先度の低い前記キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記第1の記憶部の最も優先度の低い前記キュー以外のキューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定部と、
を備えるバッファ割り当て装置。
an acquisition unit that acquires information indicating a requested buffer amount for each of a plurality of queues;
a setting unit that converts the requested buffer amount for each of the queues into a first minimum converted buffer amount based on the lowest data storage efficiency that can occur in a first storage unit, and allocates a buffer amount calculated based on the first minimum converted buffer amount and a minimum buffer amount required per cycle of a dynamic bandwidth allocation function to the queue with the lowest priority of the first storage unit, and allocates a buffer amount calculated based on a first buffer amount, which is a buffer amount obtained by subtracting the buffer amount allocated to the queue with the lowest priority of the first storage unit from the total capacity of the first storage unit, and a second buffer amount, which is a sum of the first minimum converted buffer amounts of queues other than the queue with the lowest priority of the first storage unit;
A buffer allocation apparatus comprising:
前記設定部は、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに対して、前記第1バッファ量が前記第2バッファ量より多い場合は前記第1最低換算バッファ量をそれぞれ割り当て、前記第1バッファ量が前記第2バッファ量以下である場合は前記第1の記憶部の最も優先度の低い前記キュー以外のキューの要求バッファ量の比で前記第2バッファ量を分配したバッファ量をそれぞれ割り当てる
請求項1に記載のバッファ割り当て装置。
2. The buffer allocation device according to claim 1, wherein the setting unit allocates the first minimum conversion buffer amount to each queue other than the queue with the lowest priority in the first memory unit when the first buffer amount is greater than the second buffer amount, and allocates a buffer amount obtained by distributing the second buffer amount in a ratio of the requested buffer amount of the queue other than the queue with the lowest priority in the first memory unit when the first buffer amount is equal to or less than the second buffer amount.
前記設定部は、前記第1最低換算バッファ量と前記動的帯域割当機能の1周期当たりに最低限必要なバッファ量を示す必要バッファ量とを比較し、前記第1最低換算バッファ量が前記必要バッファ量より多い場合には前記第1の記憶部の最も優先度の低い前記キューに対して前記必要バッファ量を割り当て、前記第1最低換算バッファ量が前記必要バッファ量以下である場合には前記第1の記憶部の最も優先度の低い前記キューに対して前記第1最低換算バッファ量を割り当てる
請求項1又は2に記載のバッファ割り当て装置。
3. The buffer allocation device according to claim 1, wherein the setting unit compares the first minimum converted buffer amount with a required buffer amount indicating a minimum buffer amount required per cycle of the dynamic bandwidth allocation function, and if the first minimum converted buffer amount is greater than the required buffer amount, allocates the required buffer amount to the queue with the lowest priority in the first memory unit, and if the first minimum converted buffer amount is equal to or less than the required buffer amount, allocates the first minimum converted buffer amount to the queue with the lowest priority in the first memory unit.
前記設定部は、前記第1の記憶部の最も優先度の低い前記キューに設定されなかった分のバッファ量を第2の記憶部で生じうる最も低いデータ収容効率に基づいて第2最低換算バッファ量に換算し、前記第2の記憶部の最も優先度の低い前記キューに対して前記第2最低換算バッファ量を割り当てる
請求項1から3のうちいずれか一項に記載のバッファ割り当て装置。
4. The buffer allocation device according to claim 1, wherein the setting unit converts the buffer amount that is not set for the queue with the lowest priority in the first memory unit into a second minimum converted buffer amount based on the lowest data storage efficiency that can occur in the second memory unit, and allocates the second minimum converted buffer amount to the queue with the lowest priority in the second memory unit.
前記設定部は、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに設定されなかった分のバッファ量を前記第2の記憶部で生じうる最も低いデータ収容効率に基づいて前記第2最低換算バッファ量に換算し、前記第2の記憶部の最も優先度の低い前記キュー以外のキューに対して前記第2最低換算バッファ量を割り当てる
請求項4に記載のバッファ割り当て装置。
5. The buffer allocation device according to claim 4, wherein the setting unit converts the buffer amount that is not set for queues other than the queue with the lowest priority in the first memory unit into the second minimum converted buffer amount based on the lowest data storage efficiency that can occur in the second memory unit, and allocates the second minimum converted buffer amount to queues other than the queue with the lowest priority in the second memory unit.
複数の上り送信キューの各々に対して要求バッファ量を示す情報を取得する取得部と、
前記上り送信キューごとの前記要求バッファ量を内蔵バッファで生じうる最も低いデータ収容効率に基づいて第1最低換算データ長にそれぞれ換算し、前記内蔵バッファの最も優先度の低い前記上り送信キューに対して、前記第1最低換算データ長と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記内蔵バッファの最も優先度の低い前記上り送信キュー以外の上り送信キューに対して、前記内蔵バッファの合計容量から前記内蔵バッファの最も優先度の低い前記上り送信キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記内蔵バッファの最も優先度の低い前記上り送信キュー以外の上り送信キューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定部と、
を備える加入者線終端装置。
an acquisition unit that acquires information indicating a requested buffer amount for each of a plurality of upstream transmission queues;
a setting unit which converts the requested buffer amount for each of the upstream transmission queues into a first minimum converted data length based on the lowest data storage efficiency that can occur in the built-in buffer, allocates a buffer amount calculated based on the first minimum converted data length and a minimum buffer amount required per cycle of a dynamic bandwidth allocation function to the upstream transmission queue having the lowest priority of the built-in buffer, and allocates a buffer amount calculated based on a first buffer amount, which is a buffer amount obtained by subtracting the buffer amount allocated to the upstream transmission queue having the lowest priority of the built-in buffer from the total capacity of the built-in buffer, and a second buffer amount, which is a sum of the first minimum converted buffer amounts of the upstream transmission queues other than the upstream transmission queue having the lowest priority of the built-in buffer;
A subscriber line termination device comprising:
コンピュータが、複数のキューの各々に対して要求バッファ量を示す情報を取得する取得ステップと、
コンピュータが、前記キューごとの前記要求バッファ量を第1の記憶部で生じうる最も低いデータ収容効率に基づいて第1最低換算バッファ量にそれぞれ換算し、前記第1の記憶部の最も優先度の低い前記キューに対して、前記第1最低換算バッファ量と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに対して、前記第1の記憶部の合計容量から前記第1の記憶部の最も優先度の低い前記キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記第1の記憶部の最も優先度の低い前記キュー以外のキューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定ステップと、
を有するバッファ割り当て方法。
An acquisition step in which the computer acquires information indicating a required buffer amount for each of a plurality of queues;
a setting step of the computer converting the requested buffer amount for each of the queues into a first minimum converted buffer amount based on the lowest data storage efficiency that can occur in the first storage unit, allocating a buffer amount calculated based on the first minimum converted buffer amount and a minimum buffer amount required per cycle of a dynamic bandwidth allocation function to the queue with the lowest priority of the first storage unit, and allocating a buffer amount calculated based on a first buffer amount, which is a buffer amount obtained by subtracting the buffer amount allocated to the queue with the lowest priority of the first storage unit from the total capacity of the first storage unit, and a second buffer amount, which is a sum of the first minimum converted buffer amounts of the queues with the lowest priority of the first storage unit other than the queue with the lowest priority of the first storage unit;
The buffer allocation method has the following structure:
請求項1から5のうちいずれか一項に記載のバッファ割り当て装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as a buffer allocation device according to any one of claims 1 to 5.
JP2021134583A 2021-08-20 2021-08-20 Buffer allocation device, subscriber line termination device, buffer allocation method and program Active JP7601726B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021134583A JP7601726B2 (en) 2021-08-20 2021-08-20 Buffer allocation device, subscriber line termination device, buffer allocation method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021134583A JP7601726B2 (en) 2021-08-20 2021-08-20 Buffer allocation device, subscriber line termination device, buffer allocation method and program

Publications (2)

Publication Number Publication Date
JP2023028711A JP2023028711A (en) 2023-03-03
JP7601726B2 true JP7601726B2 (en) 2024-12-17

Family

ID=85331174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021134583A Active JP7601726B2 (en) 2021-08-20 2021-08-20 Buffer allocation device, subscriber line termination device, buffer allocation method and program

Country Status (1)

Country Link
JP (1) JP7601726B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087282A (en) 2001-09-10 2003-03-20 Nippon Telegr & Teleph Corp <Ntt> Dynamic band allocation circuit, dynamic band allocation method, dynamic band allocation program, and recording medium
JP2007324886A (en) 2006-05-31 2007-12-13 Mitsubishi Electric Corp Variable length frame buffer device
JP2013126034A (en) 2011-12-13 2013-06-24 Nippon Telegr & Teleph Corp <Ntt> Communication apparatus and communication system
US20150215226A1 (en) 2014-01-30 2015-07-30 Marvell Israel (M.I.S.L) Ltd. Device and Method for Packet Processing with Memories Having Different Latencies

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003087282A (en) 2001-09-10 2003-03-20 Nippon Telegr & Teleph Corp <Ntt> Dynamic band allocation circuit, dynamic band allocation method, dynamic band allocation program, and recording medium
JP2007324886A (en) 2006-05-31 2007-12-13 Mitsubishi Electric Corp Variable length frame buffer device
JP2013126034A (en) 2011-12-13 2013-06-24 Nippon Telegr & Teleph Corp <Ntt> Communication apparatus and communication system
US20150215226A1 (en) 2014-01-30 2015-07-30 Marvell Israel (M.I.S.L) Ltd. Device and Method for Packet Processing with Memories Having Different Latencies

Also Published As

Publication number Publication date
JP2023028711A (en) 2023-03-03

Similar Documents

Publication Publication Date Title
US8964540B2 (en) Method and apparatus for dynamically allocating upstream bandwidth in passive optical networks
US7436765B2 (en) Method and apparatus for dynamically allocating upstream bandwidth in passive optical networks
CN1929361B (en) Transmission apparatus
KR100964513B1 (en) Dynamic Bandwidth Allocation and Service Differentiation for Broadband Passive Optical Networks
KR100737523B1 (en) Bandwidth Allocation Apparatus and Method for Security Guarantee in Ethernet Passive Optical Subscriber Network
KR100950337B1 (en) Efficient Dynamic Bandwidth Allocation Apparatus and Method for TMD-based Passive Optical Subscriber Networks
US8184976B2 (en) Passive optical network system and operating method thereof
KR20040048102A (en) Dynamic Bandwidth Allocation based on Class of Service over Ethernet Passive Optical Network
JP2007097112A (en) Bandwidth allocation apparatus and method for guaranteeing QoS in Ethernet passive optical network (EPON)
JP2012518319A (en) Output separation for dynamic bandwidth allocation in passive optical networks
US11418261B2 (en) Data transmission method and device
US20060153564A1 (en) Bandwidth allocation method and system for data transmission in EPON
US7633866B2 (en) Data transmission system and method in EPON, and recording medium storing program of the same
JP2008289202A (en) Transmission apparatus and network system
JP4639175B2 (en) Transmission equipment
JP7601726B2 (en) Buffer allocation device, subscriber line termination device, buffer allocation method and program
JP7601727B2 (en) Buffer allocation device, subscriber line termination device, buffer allocation method and program
WO2023045689A1 (en) Method for allocating uplink transmission resources, and related device
KR100884168B1 (en) Operation method of media access control protocol and Ethernet optical network system using same
JP7557159B2 (en) Bandwidth allocation device, subscriber line terminal device, and bandwidth allocation method
JP4957758B2 (en) PON system and its home equipment
KR100686809B1 (en) Dynamic Bandwidth Allocation Method Supporting Quality of Service and Ethernet Optical Network System Using Them
WO2023162026A1 (en) Optical line terminal and bandwidth allocation method
JP6667427B2 (en) Optical transmission device, optical concentrator network system, and data transmission instruction method
JP2019146079A (en) Station side termination device, subscriber side termination device, communication system, station side program, and subscriber side program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210820

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20241203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241205

R150 Certificate of patent or registration of utility model

Ref document number: 7601726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350