JP2023028711A - Buffer allocation device, subscriber line terminal device, buffer allocation method and program - Google Patents

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

Info

Publication number
JP2023028711A
JP2023028711A JP2021134583A JP2021134583A JP2023028711A JP 2023028711 A JP2023028711 A JP 2023028711A JP 2021134583 A JP2021134583 A JP 2021134583A JP 2021134583 A JP2021134583 A JP 2021134583A JP 2023028711 A JP2023028711 A JP 2023028711A
Authority
JP
Japan
Prior art keywords
buffer
queue
buffer amount
amount
minimum
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.)
Pending
Application number
JP2021134583A
Other languages
Japanese (ja)
Inventor
亮太 喜多
Ryota Kita
智暁 吉田
Tomoaki Yoshida
聡志 嶌津
Satoshi Shimazu
隆義 田代
Takayoshi Tashiro
真良 関口
Masayoshi Sekiguchi
浩之 森田
Hiroyuki Morita
智永 井田
Tomonaga Ida
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
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to JP2021134583A priority Critical patent/JP2023028711A/en
Publication of JP2023028711A publication Critical patent/JP2023028711A/en
Pending legal-status Critical Current

Links

Images

Abstract

To mount a device for buffering transmission data at a lower cost.SOLUTION: A buffer allocation device includes an acquisition unit that acquires request buffer amounts requested for a plurality of queues, and a setting unit for converting a request buffer amount for each queue into a first lowest conversion buffer amount based on a lowest data accommodation efficiency that may occur in a first storage unit, allocating a buffer amount calculated based on the first lowest conversion buffer amount and a lowest required buffer amount per cycle of dynamic bandwidth allocation to a queue having the lowest priority, 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 lowest priority queue from the total capacity of the first storage unit for queues other than the lowest priority queue, and a second buffer amount which is the total of the first lowest conversion butter amounts of the queues other than the lowest priority queue.SELECTED DRAWING: Figure 2

Description

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

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

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 in upstream communication from ONUs to OLTs. Also, one of the functions required to operate GE-PON and 10G-EPON as a system is a DBA (Dynamic Bandwidth Allocation) function. The DBA function is a bandwidth control function that dynamically allocates bandwidth in upstream communication according to traffic volume. The DBA function realizes efficient upstream bandwidth without generating unused bandwidth by appropriately switching the allocated bandwidth according to the status of upstream communication traffic flowing through each ONU.

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

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

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

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

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

しかしながら、従来、このような2段バッファにおいて、それぞれのバッファに対して必要十分なバッファ量を設定するための設定方法が明確に示されていなかった。そのため、設定されたバッファ量の全てを内蔵バッファに割り当てられない状態となること(以下、「オーバーサブスクリプション」という。)を防ぐために、余裕を持たせて外付けバッファのバッファ量を設定することができるようにしなければならなかった。これにより、送信バッファの装置コストが増大するという課題があった。 However, conventionally, in such a two-stage buffer, a setting method for setting a necessary and sufficient buffer amount for each buffer has not been clearly shown. Therefore, in order to prevent a state in which the entire set buffer size cannot be allocated to the internal buffer (hereafter referred to as "oversubscription"), the buffer size of the external buffer should be set with a margin. had to be able to As a result, there is a problem that the device cost of the transmission buffer increases.

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

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

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

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

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

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

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

以下、本発明の実施形態について、図面を参照しながら説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[PONの構成]
FTTHサービスを高速かつ安価に提供する光アクセスシステムとしてPON(Passive Optical Network;受動光ネットワーク)がある。PONは、光-電気変換を行わず、低コストの受動素子である光スプリッタを用いて光信号を複数に分岐する。これにより、PONは、一心の光ファイバを複数ユーザで共有することによって、経済的なネットワークを実現することができる。日本において主力となるFTTHサービスとして、例えば、ギガビット級の伝送速度を実現するGE-PON及びGE-PONのさらに10倍の帯域を持つ10G-EPON等がある。
[PON configuration]
A PON (Passive Optical Network) is an optical access system that provides FTTH services at high speed and at low cost. A PON does not perform optical-to-electrical conversion, but uses low-cost passive optical splitters to split an optical signal into multiple parts. As a result, the PON can realize an economical network by sharing one optical fiber with a plurality of users. Mainstay FTTH services in Japan include, for example, GE-PON, which achieves gigabit-class transmission speeds, and 10G-EPON, which has ten times the bandwidth 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 the PON 1 according to this embodiment will be described below. FIG. 1 is an overall configuration diagram of a PON 1 according to an embodiment of the invention. As shown in FIG. 1, the PON 1 includes an OLT (Optical Line Terminal; subscriber line terminal equipment) 10 and a plurality of (n units in FIG. 1) ONUs (optical network units; subscriber line terminal equipment). 20 , 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 the office of a telecommunications carrier. The ONU 20 is installed, for example, in the user's home (or premises). The optical fiber 30 is laid, for example, between the station office of the telecommunications carrier and the user's home. The optical splitter 40 splits the optical fiber 30 . A plurality of ONUs 20 are connected to one OLT 10 by installing an optical splitter 40 that multiplexes and demultiplexes optical signals between the OLT 10 and the ONUs 20 .

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

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

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

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

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

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

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

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

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

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

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

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

[ONUの構成]
以下、本実施形態におけるONU20の構成について説明する。図2は、本発明の実施形態におけるONU20の構成を示すブロック図である。図2に示されるように、ONU20は、TRx21と、MAC処理部22と、PHY23と、外付けバッファ24とを含んで構成される。
[Configuration of ONU]
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 according to the embodiment of the invention. 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. FIG.

TRx(Transmitter/Receiver)21は、自装置とOLT10との間で光信号の送受信を行う光送受信器である。TRx21は、MAC処理部22から出力された上り送信用のデジタルデータ(電気信号)を光信号(上り信号)に変換して光ファイバ30に出力するとともに、OLT10から送信された光信号(下り信号)を受信し、受信された光信号をデジタルデータ(電気信号)に変換してMAC処理部22へ出力する。 A TRx (Transmitter/Receiver) 21 is an optical transmitter/receiver that transmits and receives optical signals between its own device 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 the optical signal (upstream signal) to the optical fiber 30, and also converts the optical signal (downstream signal) transmitted from the OLT 10 into an optical signal (upstream signal). ), 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とを併せて「上り送信バッファ」ということがある。 A MAC (Media Access Control) processing unit 22 is a functional unit of the data link sublayer that controls transmission and reception of data. The MAC processing unit 22 is generally configured using a PON chip. The MAC processing section 22 includes a buffer setting section 220 and an internal buffer 221 . The buffer setting unit 220 sets the buffer amounts of the internal buffer 221 and the external buffer 24 . In the following description, the built-in buffer 221 and the external buffer 24 may be collectively referred to as "upstream transmission buffer".

内蔵バッファ221及び外付けバッファ24は、例えば磁気ハードディスク装置又は半導体記憶装置等の記憶媒体を用いて構成される。内蔵バッファ221及び外付けバッファ24は、PHY23によって受信される上りデータを蓄積する。内蔵バッファ221及び外付けバッファ24は、それぞれ複数の上り送信キューを備える。なお、以下の説明において、内蔵バッファ221の上り送信キューを「内蔵キュー」、及び、外付けバッファ24の上り送信キューを「外付けキュー」ということがある。 The internal 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 internal buffer 221 and the external buffer 24 each have a plurality of upstream transmission queues. In the following description, the upstream transmission queue of the internal buffer 221 may be called "internal queue", and the upstream transmission queue of the external buffer 24 may be called "external queue".

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

[上り送信バッファの設定方法]
以下、本実施形態におけるONU20による上り送信バッファの設定方法について、具体例を用いて説明する。図3~5は、本発明の実施形態におけるONU20による上り送信バッファの設定処理を説明するための図である。
[How to set up transmission buffer]
Hereinafter, a method for setting up transmission buffers by the ONU 20 in this embodiment will be described using a specific example. 3 to 5 are diagrams for explaining the setting processing of the upstream transmission buffer by the ONU 20 according to the 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 built-in 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, uplink transmission queue #3 has the highest priority, followed by uplink transmission queue #2 and uplink transmission queue #1, and uplink data is stored in the uplink transmission queues in this order. shall be Then, the ONU 20 transmits the upstream data stored in the transmission queue #3 with the highest priority, transmits the upstream data stored in the transmission queue #2 after the queue becomes empty, and then similarly transmits the upstream data stored in the transmission queue #3. Uplink data is transmitted in order of #1 and transmission queue #0.

以下、内蔵バッファ221の上り送信キュー#0~上り送信キュー#3をそれぞれ内蔵キューq#0~内蔵キューq#3といい、外付けバッファ24の上り送信キュー#0~上り送信キュー#3をそれぞれ外付けキューQ#0~外付けキューQ#3という。 Hereinafter, upstream transmission queue #0 to upstream transmission queue #3 of internal buffer 221 are referred to as internal queue q#0 to internal queue q#3, respectively, and upstream transmission queue #0 to upstream transmission queue #3 of external buffer 24 are referred to as internal queue q#0 to internal queue q#3. They are referred to as an external queue Q#0 to an 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 did not fit within the buffer capacity allocated to the internal queue q#0. Similarly, the buffer setting unit 220 stores the upstream data that did not fit within the buffer amount assigned to the internal queue q#1 in the external queue Q#1, and stores the upstream data in the external queue Q#1. Upstream data that does not fit within the buffer amount range is stored in the external queue Q#2, and upstream data that does not fit within the buffer amount assigned to the built-in queue q#3 is stored in the external queue Q#3. do. In this way, the built-in queue q#n and the external queue Q#n are two-stage buffers corresponding to each other, and each upstream data is temporarily stored by this set of upstream transmission queues.

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

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

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

ここでは、内蔵バッファ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, it is assumed that the minimum accommodation efficiency in the built-in buffer 221 is 1/1.5. Therefore, the amount of buffer to be secured in the internal queue q#0 is 900 [KB] (=600*1.5), and the amount of buffer to be secured in the internal queue q#1 is 450 [KB] (=300*1.5). 5), the amount of buffer to be secured in the internal queue q#2 is 300 [KB] (=200*1.5), and the amount of buffer to be secured in the internal queue q#3 is 150 [KB] (=100*1.5). 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 required buffer amount per cycle of the DBA function. The reason why the minimum amount of buffer required per cycle of the DBA function is calculated is that the upstream data can only be output from the built-in buffer 221 per cycle. This is due to the constraint of That is, the buffer setting unit 220 calculates a buffer amount corresponding to the maximum uplink data transmission permission amount (Data Grant) that can be granted by the OLT 10 per cycle of the DBA function (similarly to the above, the buffer The setting unit 220 converts the data length into a buffer amount corresponding to the minimum accommodation efficiency of the built-in buffer 221).

ここでは、付与されうる最大の上りデータの送信許可量(Data Grant)分のデータ長に相当するバッファ量が、525[KB]であるものとする。 Here, it is assumed that the buffer amount corresponding to the data length of the maximum amount of transmission permission (Data Grant) of uplink data that can be granted is 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 section 220 allocates a buffer amount so that the built-in queue q#0, which is the uplink transmission queue with the lowest priority, has the maximum uplink rate. Specifically, the buffer setting unit 220 sets the calculated buffer amount to be secured in the built-in queue q#0 (hereinafter also referred to as "buffer amount A") and the calculated maximum upload data that can be added. is compared with a buffer amount (hereinafter also referred to as “buffer amount B”) corresponding to the data length that is the minimum accommodation efficiency in the built-in buffer 221 for the transmission permission amount (Data Grant). If the buffer amount A is larger than the buffer amount B, the buffer setting unit 220 sets so that the buffer amount B is allocated to the built-in queue q#0. On the other hand, if the buffer amount A is less than or equal to the buffer amount B, the buffer setting unit 220 sets so that the buffer amount A is allocated to the built-in queue q#0.

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

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

ここでは、上記の通り、内蔵キュー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 amount of 525 [KB] is allocated to the built-in queue q#0. Since this buffer amount of 525 [KB] corresponds to the data length that is the minimum accommodation efficiency of the built-in buffer 221, A buffer amount of 350 [KB] (=525/1.5) is allocated to the built-in queue q#0. Therefore, it is necessary to allocate the remaining 250 [KB] (=600-350) of the buffer size of 600 [KB] initially set for the internal queue q#0 to the external queue Q#0. be.

ここでは、外付けバッファ24での最低収容効率は、1/1.2であるものとする。したがって、図3に示されるように、外付けキューQ#0に対し300[KB](=250×1.2)のバッファ量が割り当てられる。 Here, it is assumed that the minimum accommodation efficiency in the external buffer 24 is 1/1.2. Therefore, as shown in FIG. 3, a buffer amount of 300 [KB] (=250×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」ともいう。)と、を比較することでオーバーサブスクリプションが発生しうるか否かを判定する。 Next, the buffer setting unit 220 subtracts the buffer amount allocated to the internal queue q#0 from the total capacity of the internal buffers 221 (internal queue q#0 to internal queue q#3) (hereinafter also referred to as "buffer amount X") and the total amount of buffers secured in built-in queues q#1 to q#3, which are built-in queues other than the built-in queue q#0 with the lowest priority (hereinafter , also referred to as “buffer amount Y”), it is determined whether or not oversubscription can occur.

例えば、内蔵キューq#0~内蔵キューq#2で内蔵バッファ221の合計容量の全てが使い切られた場合、内蔵キューq#3のバッファ量は0[KB]となる。この場合、内蔵キューq#3の上りデータが取得されたとしても、内蔵キューq#3は当該上りデータを格納することができない。これにより、当該上りデータは、内蔵バッファにてオーバーサブスクリプションが発生し、格納できないデータは外付けバッファへ格納される。 For example, if the internal queue q#0 to internal queue q#2 have all used up the total capacity of the internal buffer 221, the buffer capacity of the internal queue q#3 is 0 [KB]. In this case, even if the upstream data of the internal queue q#3 is acquired, the internal queue q#3 cannot store the upstream data. As a result, oversubscription of the upstream data occurs in the built-in buffer, and 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 larger than the buffer amount Y, the buffer setting section 220 sets the internal queues q#1 to q#3 to the internal queues q#1 to q#3, respectively. Allocate the amount of buffer to be secured to #3. On the other hand, when the buffer amount X is less than or equal to the buffer amount Y, the buffer setting unit 220 distributes the buffer amount X to the built-in queues q#1 to q#3 according to the desired buffer amount ratio. , to the built-in queue q#1 to built-in queue q#3. As described above, by distributing the buffer amount X to the built-in queues q#1 to q#3 according to the ratio of the desired buffer amounts, oversubscription of upstream data in the built-in buffer can be 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)である。 Here, as shown in FIG. 4, it is assumed that the total capacity of the built-in buffer 221 (built-in queue q#0 to built-in queue q#3) is 1 [MB] (=1,024 [KB]). As described above, a buffer amount of 525 [KB] is allocated to the built-in queue q#0. Therefore, the buffer capacity (that is, buffer capacity X) that can be allocated to the internal 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に対してそれぞれ割り当てられる。 Further, 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 (that is, buffer amount Y) is 900 [KB], which exceeds 499 [KB]. Therefore, since the buffer amount X is equal to or smaller than the buffer amount Y, it is determined that oversubscription may occur, and a buffer amount of 499 [KB] is allocated to each of the built-in queues q#1 to q#3. It is distributed according to the ratio of the buffer amount to be set and assigned to each of the built-in queues q#1 to q#3.

具体的には、図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, a buffer capacity of 249 [KB] (≈499×300/(300+200+100)) is allocated to the built-in queue q#1, and 166 [KB] is allocated to the built-in queue q#2. KB] (≈499×200/(300+200+100)) is allocated, and a buffer size of 83 [KB] (≈499×100/(300+200+100)) is allocated to the built-in queue q#3.

次に、バッファ設定部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 section 220 calculates the amount of buffer to be allocated to each of the external queues Q#1 to Q#3. Specifically, when the buffer amount X is less than or equal to the buffer amount Y in the above description, the buffer setting unit 220 selects the above The amount of buffer that could not be set for the internal queues q#1 to q#3 is allocated to the external queues Q#1 to Q#3 (the buffer setting unit 220 is converted into a buffer amount corresponding to the data length that is the minimum accommodation 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 amount 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 to be initially set for the built-in queue q#1 is equivalent to the built-in queue size. It is assigned to q#1. Therefore, it is necessary to allocate the remaining 134 [KB] (=300-166) of the buffer size of 300 [KB] desired to be initially set for the internal queue q#1 to the external queue Q#1. be.

ここでは、前述の通り、外付けバッファ24での最低収容効率は1/1.2としている。したがって、図5に示されるように、外付けキューQ#1に対し161[KB](≒134×1.2)のバッファ量が割り当てられる。 Here, as described above, the minimum accommodation efficiency in the external buffer 24 is 1/1.2. Therefore, as shown in FIG. 5, a buffer amount of 161 [KB] (≈134×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 amount of 166 [KB] is allocated to the built-in queue q#2. Since this buffer amount of 166 [KB] is equivalent to the data length at which the built-in buffer 221 has the minimum accommodation efficiency, A buffer amount of 111 [KB] (≈166÷1.5) is allocated to the built-in queue q#2. Therefore, it is necessary to allocate the remaining 89 [KB] (=200-111) of the buffer size of 200 [KB] initially set for the internal queue q#2 to the external queue Q#2. be.

ここでは、前述の通り、外付けバッファ24での最低収容効率は1/1.2としている。したがって、図5に示されるように、外付けキューQ#2に対し107[KB](≒89×1.2)のバッファ量が割り当てられる。 Here, as described above, the minimum accommodation efficiency in the external buffer 24 is 1/1.2. Therefore, as shown in FIG. 5, a buffer amount of 107 [KB] (≈89×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 amount of 83 [KB] is allocated to the built-in queue q#3. Since this buffer amount of 83 [KB] corresponds to the data length that is the minimum accommodation efficiency of the built-in buffer 221, A buffer amount of 55 [KB] (≈83÷1.5) is allocated to the built-in queue q#3. Therefore, it is necessary to allocate the remaining 45 [KB] (=100-55) of the buffer size of 100 [KB] initially set for the internal queue q#3 to the external queue Q#3. be.

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

[ONUの動作]
以下、本実施形態におけるONU20の上り送信バッファの設定処理時における動作について説明する。図6は、本発明の実施形態におけるONU20の動作の一例を示すフローチャートである。なお、ここでは、内蔵バッファ221及び外付けバッファ24は、n個(nは、1以上の整数)の上り送信キューをそれぞれ備えているものとする。
[Operation of ONU]
The operation of the ONU 20 in this embodiment when setting up the upstream transmission buffer will be described below. FIG. 6 is a flow chart showing an example of the operation of the ONU 20 according to the embodiment of the invention. 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 amount of buffer 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にそれぞれ確保するバッファ量として決定する。 Next, the buffer setting unit 220 sets the buffer amount to be set for each of the built-in queues q#0 to q#n−1 determined in step S01 to correspond to the data length that provides the minimum accommodation efficiency in the built-in buffer 221. It converts to the amount of buffer to be used (step S02). The buffer setting unit 220 determines the converted buffer capacity as the buffer capacity to be reserved 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 required buffer amount 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 sets the buffer amount so that the built-in queue q#m (m is an integer satisfying 0≤m≤n-1), which is the upstream transmission queue with the lowest priority, has the maximum upstream rate. assign. Specifically, the buffer setting unit 220 sets the calculated buffer amount (buffer amount A) to be secured in the built-in queue q#m and the calculated maximum grantable uplink data transmission permission amount (Data Grant ) is compared with the buffer amount (buffer amount B) corresponding to the data length at which the built-in buffer 221 has the minimum accommodation efficiency. If the buffer amount A is larger than the buffer amount B, the buffer setting unit 220 sets so that the buffer amount B is allocated to the built-in queue q#m. On the other hand, if the buffer amount A is less than or equal to the buffer amount B, the buffer setting unit 220 sets so as to allocate the buffer amount A to the built-in queue q#m (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 it is necessary to allocate a buffer amount to the external queue Q#m corresponding to the internal queue q#m, which is the uplink transmission queue with the lowest priority (step S05). . Specifically, the buffer setting unit 220 has a buffer amount that could not be set by setting the buffer amount for the built-in queue q#m in step S04, out of the buffer amount to be secured for the built-in queue q#m. (that is, when the internal queue q#m is allocated the buffer amount B), it is determined that it is necessary to allocate the buffer amount to the external queue Q#m.

外付けキューQ#mにバッファ量の割り当てが必要であると判定された場合(ステップS05・YES)、バッファ設定部220は、内蔵キューq#0に確保するバッファ量のうち、上記の内蔵キューq#0に対するバッファ量の設定によって設定しきれなかった分のバッファ量を外付けキューQ#0に割り当てる(ステップS06)。 If it is determined that it is necessary to allocate a buffer amount to the external queue Q#m (step S05: YES), the buffer setting unit 220 assigns The amount of buffer that could not be set due to the setting of the buffer amount for q#0 is allocated to the external 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 subtracts the buffer capacity allocated to the built-in queue q#m from the total capacity of the built-in buffers 221 (built-in queue q#0 to built-in queue q#n−1). Whether or not oversubscription can occur is determined by comparing the buffer amount (buffer amount X) with the total buffer amount (buffer amount Y) secured 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 (that is, if it is determined that oversubscription does not occur; step S07: NO), the buffer setting unit 220 A desired buffer amount (that is, a buffer amount to be secured for each built-in queue other than the built-in queue q#m) is allocated to each built-in queue (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 (that is, if it is determined that oversubscription may occur; step S07: YES), the buffer setting unit 220 sets the buffer amount X to the built-in The amount of buffer is distributed to each built-in queue other than the queue q#m according to the ratio of the desired buffer amount, and allocated 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 amount of buffer to be allocated to each external queue other than the external queue Q#m. Specifically, when the buffer amount X is equal to or smaller than the buffer amount Y in the above (step S07: YES), the buffer setting unit 220 sets the buffer amount to be reserved for each external queue other than the external queue Q#m. Of these, the amount of buffer that could not be set by setting the buffer amount for each internal queue other than the internal queue q#m is allocated to each external queue other than Q#m (the buffer setting unit 220 is converted into a buffer amount corresponding to the data length that is the minimum accommodation efficiency in the external buffer 24) (step S10). With this, the operation of the ONU 20 shown in the flowchart of FIG. 6 is completed.

以上説明したように、本実施形態におけるONU20は、上り送信キューごとの設定したいバッファ量に対し、当該バッファ量を内蔵バッファ221で最低収容効率となる場合のバッファ量に換算する。ONU20は、まず優先度が最も低い上り送信キューに内蔵バッファ221を優先的に割り当てる。このとき、ONU20は、設定したいバッファ量がDBA機能の1周期当たりに最低限必要なバッファ量より大きい場合には、当該最低限必要なバッファ量を内蔵バッファ221に割り当て、残りのバッファ量を外付けバッファ24に割り当てる。 As described above, the ONU 20 in this embodiment converts the buffer amount to be set for each upstream transmission queue into the buffer amount when the built-in buffer 221 achieves the minimum accommodation efficiency. First, the ONU 20 preferentially assigns the built-in buffer 221 to the upstream transmission queue with the lowest priority. At this time, if the buffer size to be set is larger than the minimum required buffer size per cycle of the DBA function, the ONU 20 allocates the minimum required buffer size to the built-in buffer 221 and removes the remaining buffer size. allocated to the attachment 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 upstream data that cannot fit in the built-in buffer 221 . Then, while allocating a sufficient amount of buffer to the upstream transmission queue #0, which is assumed to be the best effort class and is the class that requires the largest amount of buffer, the upstream transmission that is assumed to be the bandwidth guarantee class. By securing only the amount of data guaranteed per cycle of the DBA function in queues #1 to #3 in the internal buffer 221, upstream data can be transmitted efficiently based on priority. The best-effort class referred to here is a quality class for providing communication services that give priority to economic efficiency and flexibility similar to those of the general Internet. The bandwidth guarantee class referred to here is a priority class, and is a quality class suitable for providing communication services that require real-time performance, such as videophone and video distribution. As a result, according to the ONU 20 of the present embodiment, it is possible to use a combination of low-cost, low-capacity buffers, so that a configuration that satisfies the required performance of the ONU 20 can be obtained at a lower cost. Therefore, according to the ONU 20 of this embodiment, a device for buffering transmission data can be implemented at a lower cost.

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

このような構成を備えることで、本実施形態におけるONU20は、オーバーサブスクリプションの発生を防ぐことができ、外付けバッファ24に必要なバッファ量の増大を抑制することができる。 By providing 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 embodiments described above, the buffer allocation device comprises an obtaining 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 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 request buffer capacity for each of the plurality of queues. For example, the plurality of queues are upstream transmission queue #0 to upstream transmission queue #n in the embodiment, and the request buffer capacity is the amount of upstream data to be set in built-in queue q#0 to built-in queue q#n in the embodiment. is the amount of buffer.

設定部は、キューごとの要求バッファ量を第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 converted buffer amount based on the lowest possible data accommodation efficiency in the first storage unit. For example, the first storage unit is the built-in buffer 221 in the embodiment, and the first minimum converted buffer capacity is the buffer capacity corresponding to the data length that provides the minimum accommodation efficiency in the built-in buffer 221 in the embodiment. The setting unit calculates for the queue with the lowest priority in the first storage unit based on the first minimum conversion buffer amount and the minimum required buffer amount per cycle of the dynamic bandwidth allocation function. Allocate a buffer amount. For example, the queue with the lowest priority in 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 to the queue with the lowest priority in the first storage unit from the total capacity of the first storage unit for the queues other than the queue with the lowest priority in the first storage unit. Calculated based on the first buffer amount, which is the buffer amount after subtracting the buffer amount, and the second buffer amount, which is the sum of the first minimum converted buffer amounts of the queues other than the queue with the lowest priority in the first storage unit allocates the amount of buffer For example, queues other than the queue with the lowest priority in the first storage unit are built-in queue q#1 to built-in queue q#n in the embodiment.

なお、上記のバッファ割り当て装置において、設定部は、第1の記憶部の最も優先度の低いキュー以外のキューに対して、第1バッファ量が第2バッファ量より多い場合は第1最低換算バッファ量をそれぞれ割り当て、第1バッファ量が第2バッファ量以下である場合は第1の記憶部の最も優先度の低い前記キュー以外のキューの要求バッファ量の比で第2バッファ量を分配したバッファ量をそれぞれ割り当てるようにしてもよい。 In the buffer allocation device described above, the setting unit assigns the first lowest conversion buffer if the first buffer amount is larger than the second buffer amount for the queues other than the lowest priority queue in the first storage unit. If the first buffer size is equal to or less than the second buffer size, the second buffer size is distributed according to the ratio of the requested buffer size of the queue other than the queue with the lowest priority in the first storage unit. You may make it each allocate an amount.

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

なお、上記のバッファ割り当て装置において、設定部は、第1の記憶部の最も優先度の低いキューに設定されなかった分のバッファ量を第2の記憶部で生じうる最も低いデータ収容効率に基づいて第2最低換算バッファ量に換算し、第2の記憶部の最も優先度の低いキューに対して第2最低換算バッファ量を割り当てるようにしてもよい。例えば、第2の記憶部は、実施形態における外付けバッファ24であり、第2最低換算バッファ量は、実施形態における外付けバッファ24での最低収容効率となるデータ長に相当するバッファ量であり、第2の記憶部の最も優先度の低いキューは、実施形態における外付けキューQ#0である。 In the buffer allocation device described above, the setting unit determines the amount of buffers not set in the queue with the lowest priority in the first storage unit based on the lowest possible data accommodation efficiency in the second storage unit. may be converted into a second minimum converted buffer amount by , and the second minimum converted buffer amount may be allocated to the queue with the lowest priority in the second storage unit. For example, the second storage unit is the external buffer 24 in the embodiment, and the second minimum converted buffer amount is the buffer amount corresponding to the data length that is the minimum accommodation efficiency in the external buffer 24 in the embodiment. , the queue with the lowest priority in 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 buffer allocation device described above, the setting unit assigns the amount of buffers not set in the queues other than the lowest priority queue of the first storage unit to the lowest possible data accommodation in the second storage unit. The efficiency may be converted into a second minimum converted buffer amount, and the second minimum converted buffer amount may be allocated to queues other than the queue with the lowest priority in the second storage unit. For example, queues other than the queue with the lowest priority in the second storage unit are external queue Q#1 to external queue 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-described embodiment may be realized by a computer. In that case, a program for realizing this function may be recorded in a computer-readable recording medium, and the program recorded in this recording medium may be read into a computer system and executed. It should be noted that the "computer system" referred to here includes the OS and hardware of peripheral devices. The term "computer-readable recording medium" refers to portable media such as flexible disks, magneto-optical disks, ROMs and CD-ROMs, and recording devices such as hard disks built into computer systems. Furthermore, "computer-readable recording medium" means a medium that dynamically retains a program for a short period of time, like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. It may also include something that retains the program for a certain period of time, such as a volatile memory inside a computer system that serves as a server or client in that case. Further, the program may be for realizing a part of the functions described above, or may be capable of realizing the functions described above in combination with a program already recorded in the computer system. It may be implemented using a programmable logic device such as an FPGA (Field Programmable Gate Array).

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 Although the embodiment of the present invention has been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and design and the like are included within the scope of 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 request buffer amount for each of a plurality of queues;
converting the request buffer amount for each of the queues into a first minimum converted buffer amount based on the lowest possible data accommodation efficiency of the first storage unit, and calculating the lowest priority queue of the first storage unit; allocates a buffer amount calculated based on the first minimum equivalent buffer amount and the minimum required buffer amount per cycle of the dynamic bandwidth allocation function, and assigns the highest priority of the first storage unit to 1st buffer capacity, which is the buffer capacity obtained by subtracting the buffer capacity allocated to the queue with the lowest priority in the first storage section from the total capacity of the first storage section for queues other than the queue with the lowest priority A setting unit that allocates a buffer amount calculated based on a buffer amount and a second buffer amount that is the sum of a first minimum converted buffer amount of a queue other than the queue with the lowest priority in the first storage unit. and,
Buffer allocation device with
前記設定部は、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに対して、前記第1バッファ量が前記第2バッファ量より多い場合は前記第1最低換算バッファ量をそれぞれ割り当て、前記第1バッファ量が前記第2バッファ量以下である場合は前記第1の記憶部の最も優先度の低い前記キュー以外のキューの要求バッファ量の比で前記第2バッファ量を分配したバッファ量をそれぞれ割り当てる
請求項1に記載のバッファ割り当て装置。
When the first buffer amount is larger than the second buffer amount, the setting unit sets the first minimum converted buffer amount to each of the queues other than the queue with the lowest priority in the first storage unit. allocation, when the first buffer amount is less than or equal to the second buffer amount, the second buffer amount is distributed according to the ratio of the requested buffer amount of the queues other than the queue with the lowest priority in the first storage unit. 2. The buffer allocating apparatus of claim 1, each allocating a buffer amount.
前記設定部は、前記第1最低換算バッファ量と前記動的帯域割当機能の1周期当たりに最低限必要なバッファ量を示す必要バッファ量とを比較し、前記第1最低換算バッファ量が前記必要バッファ量より多い場合には前記第1の記憶部の最も優先度の低い前記キューに対して前記必要バッファ量を割り当て、前記第1最低換算バッファ量が前記必要バッファ量以下である場合には前記第1の記憶部の最も優先度の低い前記キューに対して前記第1最低換算バッファ量を割り当てる
請求項1又は2に記載のバッファ割り当て装置。
The setting unit compares the first minimum converted buffer amount with a required buffer amount indicating a minimum required buffer amount per cycle of the dynamic bandwidth allocation function, and determines the first minimum converted buffer amount as the required buffer amount. If it is larger than the buffer amount, the required buffer amount is allocated to the queue with the lowest priority in the first storage unit, and if the first minimum converted buffer amount is equal to or less than the required buffer amount, the 3. The buffer allocation device according to claim 1, wherein said first minimum converted buffer amount is allocated to said queue having the lowest priority in said first storage unit.
前記設定部は、前記第1の記憶部の最も優先度の低い前記キューに設定されなかった分のバッファ量を第2の記憶部で生じうる最も低いデータ収容効率に基づいて第2最低換算バッファ量に換算し、前記第2の記憶部の最も優先度の低い前記キューに対して前記第2最低換算バッファ量を割り当てる
請求項1から3のうちいずれか一項に記載のバッファ割り当て装置。
The setting unit sets a buffer amount not set in the queue having the lowest priority in the first storage unit to a second minimum conversion buffer based on the lowest possible data accommodation efficiency in the second storage unit. 4. The buffer allocation device according to any one of claims 1 to 3, wherein the second minimum converted buffer amount is converted to an amount, and the second minimum converted buffer amount is allocated to the queue having the lowest priority in the second storage unit.
前記設定部は、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに設定されなかった分のバッファ量を前記第2の記憶部で生じうる最も低いデータ収容効率に基づいて前記第2最低換算バッファ量に換算し、前記第2の記憶部の最も優先度の低い前記キュー以外のキューに対して前記第2最低換算バッファ量を割り当てる
請求項4に記載のバッファ割り当て装置。
The setting unit adjusts the amount of buffer not set in the queue other than the queue with the lowest priority in the first storage unit based on the lowest possible data accommodation efficiency in the second storage unit. 5. The buffer allocation device according to claim 4, wherein the second minimum converted buffer capacity is converted into a second minimum converted buffer capacity, and the second minimum converted buffer capacity is allocated to a queue other than the queue with the lowest priority in the second storage unit.
複数の上り送信キューの各々に対して要求バッファ量を示す情報を取得する取得部と、
前記上り送信キューごとの前記要求バッファ量を内蔵バッファで生じうる最も低いデータ収容効率に基づいて第1最低換算データ長にそれぞれ換算し、前記内蔵バッファの最も優先度の低い前記上り送信キューに対して、前記第1最低換算データ長と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記内蔵バッファの最も優先度の低い前記上り送信キュー以外の上り送信キューに対して、前記内蔵バッファの合計容量から前記内蔵バッファの最も優先度の低い前記上り送信キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記内蔵バッファの最も優先度の低い前記上り送信キュー以外の上り送信キューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定部と、
を備える加入者線端局装置。
an acquisition unit that acquires information indicating a request buffer size for each of a plurality of upstream transmission queues;
Converting the request buffer amount for each of the upstream transmission queues into a first minimum converted data length based on the lowest possible data accommodation efficiency of the built-in buffer, for the uplink transmission queue with the lowest priority of the built-in buffer allocate a buffer amount calculated based on the first minimum converted data length and the minimum required buffer amount per cycle of the dynamic bandwidth allocation function, and the upstream transmission with the lowest priority of the built-in buffer a first buffer capacity, which is a buffer capacity obtained by subtracting a buffer capacity allocated to the uplink transmission queue with the lowest priority of the built-in buffers from the total capacity of the built-in buffers for the uplink transmission queues other than the queue; a setting unit that allocates a buffer amount calculated based on a second buffer amount that is the sum of the first minimum equivalent buffer amounts of the uplink transmission queues other than the uplink transmission queue with the lowest priority of the built-in buffer;
subscriber line terminal equipment.
複数のキューの各々に対して要求バッファ量を示す情報を取得する取得ステップと、
前記キューごとの前記要求バッファ量を第1の記憶部で生じうる最も低いデータ収容効率に基づいて第1最低換算バッファ量にそれぞれ換算し、前記第1の記憶部の最も優先度の低い前記キューに対して、前記第1最低換算バッファ量と動的帯域割当機能の1周期当たりに最低限必要なバッファ量とに基づいて算出されるバッファ量を割り当て、前記第1の記憶部の最も優先度の低い前記キュー以外のキューに対して、前記第1の記憶部の合計容量から前記第1の記憶部の最も優先度の低い前記キューに割り当てられたバッファ量を差し引いたバッファ量である第1バッファ量と、前記第1の記憶部の最も優先度の低い前記キュー以外のキューの第1最低換算バッファ量の合計である第2バッファ量と、に基づいて算出されるバッファ量を割り当てる設定ステップと、
を有するバッファ割り当て方法。
an obtaining step of obtaining information indicating the amount of request buffers for each of the plurality of queues;
converting the request buffer amount for each of the queues into a first minimum converted buffer amount based on the lowest possible data accommodation efficiency of the first storage unit, and calculating the lowest priority queue of the first storage unit; allocates a buffer amount calculated based on the first minimum equivalent buffer amount and the minimum required buffer amount per cycle of the dynamic bandwidth allocation function, and assigns the highest priority of the first storage unit to 1st buffer capacity, which is the buffer capacity obtained by subtracting the buffer capacity allocated to the queue with the lowest priority in the first storage section from the total capacity of the first storage section for queues other than the queue with the lowest priority A setting step of allocating a buffer amount calculated based on a buffer amount and a second buffer amount that is the sum of a first minimum equivalent buffer amount of a queue other than the queue with the lowest priority in the first storage unit. and,
Buffer allocation method with
請求項1から5のうちいずれか一項に記載のバッファ割り当て装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the buffer allocation device according to any one of claims 1 to 5.
JP2021134583A 2021-08-20 2021-08-20 Buffer allocation device, subscriber line terminal device, buffer allocation method and program Pending JP2023028711A (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2023028711A true JP2023028711A (en) 2023-03-03

Family

ID=85331174

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2023028711A (en)

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
KR100415584B1 (en) Dynamic bw allocation method in atm passive optical network
KR100737523B1 (en) Bandwidth allocation device and method to guarantee qos in ethernet passive optical access network
JP2007074234A (en) Transmission apparatus
JP4416053B1 (en) PON system, station side apparatus in PON system, and control method thereof
US20100208747A1 (en) Output demultiplexing for dynamic bandwidth allocation in passive optical networks
KR20060082516A (en) Bandwidth allocation method and system for data transmission in epon
KR20090054761A (en) Apparatus and method efficient dynamic bandwidth allocation for tdma based passive optical network
JP4639175B2 (en) Transmission equipment
US11418261B2 (en) Data transmission method and device
KR20190130863A (en) Bandwidth allocating apparatus and method for providing low-latency service in optical network
JP2008289202A (en) Transmitter and network system
KR101021329B1 (en) Method for SLA-based dynamic bandwidth allocation for ethernet passive optical network
KR100884168B1 (en) Media access control scheduling method and EPON system using the method
JP2023028711A (en) Buffer allocation device, subscriber line terminal device, buffer allocation method and program
JP2023028714A (en) Buffer allocation device, subscriber line terminal device, buffer allocation method and program
KR100503417B1 (en) QoS guaranteed scheduling system in ethernet passive optical networks and method thereof
KR100686809B1 (en) Dynamic bandwidth allocation method and EPON system supporting the QoS mechanism
WO2022269853A1 (en) Bandwidth allocation device, subscriber line termination device, and bandwidth allocation method
JP5290917B2 (en) Optical communication system and optical communication method
WO2023162026A1 (en) Optical line terminal and bandwidth allocation method
JP4957758B2 (en) PON system and its home equipment
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