One embodiment provides a system for controlling flow rate in an EPON. The system includes an OLT, an ONUs coupled to the OLT via a passive optical splitter, a switch coupled to a port located on the onu, and a flow-control mechanism. The onu includes one or more queues corresponding to one or more classes of services, and one or more ports. The switch includes a plurality of uni ports, and the switch is configured to switch one or more upstream traffic flows belonging to the one or more classes of services from the plurality of uni ports. The flow-control mechanism is configured to set a flow rate of an upstream traffic flow of certain class of service originated from a uni port. The flow-control mechanism sets the flow rate based on status of an onu queue corresponding to the class of service of the upstream traffic flow.
|
10. A method for controlling flow in an ethernet passive optic network (EPON), comprising:
receiving an upstream traffic flow from an egress queue in a switch coupled to an optical network terminal (onu);
placing the traffic flow into a corresponding onu queue based on a class of service of the traffic flow;
monitoring status of the onu queue;
controlling a flow rate of the traffic flow from the egress queue based on the status of the onu queue, wherein controlling the flow rate is performed using a traffic-flow backpressure mechanism; and
sending a flow-control message associated with the onu queue to a traffic shaper or policer coupled to the egress queue located in the switch.
17. An optical network unit (onu) for controlling flow rate in an ethernet passive optic network (EPON), comprising:
one or more onu queues corresponding to one or more classes of services,
one or more ports, wherein at least one port is coupled to a switch, wherein the switch comprises a plurality of user-to-network interface (uni) ports, and wherein the switch is configured to switch one or more upstream traffic flows belonging to the one or more classes of services from the plurality of uni ports; and
a flow-control mechanism configured to set a flow rate of an upstream traffic flow originated from a uni port on the switch, wherein the upstream traffic flow belongs to a class of service, and wherein the flow rate is set based on status of an onu queue corresponding to the class of service of the upstream traffic flow.
1. A system for controlling flow rate in an ethernet passive optic network (EPON), comprising:
an optical network unit (onu) coupled to an optical line terminal (OLT) via a passive optical splitter, wherein the onu comprises one or more queues corresponding to one or more classes of services;
a port located on the onu and coupled to a switch, wherein the switch comprises a plurality of user-to-network interface (uni) ports, and wherein the switch is configured to switch one or more upstream traffic flows belonging to the one or more classes of services from the plurality of uni ports; and
a flow control mechanism configured to set a flow rate of an upstream traffic flow originated from a uni port on the switch, wherein the upstream traffic flow belongs to a class of service, and wherein the flow rate is set based on status of an onu queue corresponding to the class of service of the upstream traffic flow.
2. The system of
3. The system of
4. The system of
6. The system of
7. The system of
determine whether a difference between a time that the onu queue corresponding to the upstream traffic flow is predicted to overflow and a current time is greater than a predetermined amount; and
in response to the difference not being greater than the predetermined amount, issue a pause message for the upstream traffic flow to the switch.
8. The system of
9. The system of
11. The method of
13. The method of
14. The method of
determining whether a difference between a time that the queue overflows and a current time is greater than a predetermined amount; and
in response to the difference not being greater than the predetermined amount, issuing a pause message for the upstream traffic flow to the switch.
15. The method of
16. The method of
18. The onu of
19. The onu of
20. The onu of
21. The onu of
determine whether a difference between a time that the onu queue corresponding to the upstream traffic flow is predicted to overflow and a current time is greater than a predetermined amount; and
in response to the difference not being greater than the predetermined amount, issue a pause message for the upstream traffic flow to the switch.
22. The onu of
23. The onu of
|
This application claims the benefit of U.S. Provisional Application No. 61/107,258, entitled “Supporting Multi-Dwelling Units in Passive Optical Networks,” by inventor Glen Kramer, filed 21 Oct. 2008.
1. Field
This disclosure is generally related to a passive optical network (PON). More specifically, this disclosure is related to a PON in a Multi-Dwelling Unit (MDU) environment.
2. Related Art
The large bandwidth of an optical fiber has enabled access-service providers to deliver triple-play (video, voice, and high-speed data) services to single family units (SFUs) over a passive optical network (PON). Typically, PONs are used in the “first mile” of the network, which provides connectivity between the service provider's central offices and the premises of the customers. The “first mile” is generally a logical point-to-multipoint network, where a central office serves a number of customers. For example, a PON can adopt a tree topology, wherein one trunk fiber couples the central office to a passive optical splitter/combiner. Through a number of branch fibers, the passive optical splitter/combiner divides and distributes downstream optical signals to customers and combines upstream optical signals from customers (see
Transmissions within a PON are typically performed between an optical line terminal (OLT) and optical network units (ONUs). The OLT generally resides in the central office and couples the optical access network to a metro backbone, which can be an external network belonging to, for example, an Internet service provider (ISP) or a local exchange carrier. The ONU can reside in the residence of the customer and couples to the customer's own home network through a customer-premises equipment (CPE).
To deliver services to SFUs, the service provider installs an optical line terminal (OLT) in a central office and an ONU at each home.
The SFU approach becomes difficult in a Multi-Dwelling Unit (MDU) environment. An MDU can be an apartment building, condominium, hotel, or other buildings that are subdivided into multiple residences. MDU presents challenging requirements to access service providers, such as maintenance of secure and stable communications among all subscribers, service isolation to prevent inter-service congestion, and provisioning and enforcement of service level agreements for sensitive traffic such as cellular backhaul (often found on rooftops). Additionally, it is often impractical to replace the building communication infrastructure. Hence, current MDU solutions often utilize existing copper wiring within the building for delivering high bandwidth triple-play services to individual customers. Within a PON, such an MDU approach relies on an ONU that is capable of supporting multiple subscribers (users). An MDU-enabled ONU can provide interfaces for the fiber connection to the OLT located at the central office along with multiple copper wire connections to individual residences.
One embodiment provides a system for controlling flow rate in an Ethernet Passive Optic Network (EPON). The system includes an optical line terminal (OLT), an optical network units (ONUs) coupled to the OLT via a passive optical splitter, a switch coupled to a port located on the ONU, and a flow-control mechanism. The ONU includes one or more queues corresponding to one or more classes of Services, and one or more ports. The switch includes a plurality of user-to-network interface (UNI) ports, and the switch is configured to switch one or more upstream traffic flows belonging to the one or more classes of services from the plurality of UNI ports. The flow-control mechanism is configured to set a flow rate of an upstream traffic flow of certain class of service originated from a UNI port. The flow-control mechanism sets the flow rate based on status of an ONU queue corresponding to the class of service of the upstream traffic flow.
In a variation on the embodiment, the flow-control mechanism is located in the OLT, and the flow-control mechanism is configured to set the flow rate based on queue status of all ONUs coupled to the OLT.
In a variation on the embodiment, the flow-control mechanism implements a traffic-flow backpressure mechanism.
In a further variation, the flow-control mechanism is configured to send a flow-control message associated with the ONU queue to a traffic shaper or policer coupled to a corresponding egress queue in the switch.
In a variation on the embodiment, the flow-control mechanism is located in the ONU.
In a further variation, the flow-control mechanism is configured to predict future status of the ONU queue based on a GATE message received from the OLT.
In a further variation, the flow-control mechanism is configured to determine whether a difference between a time that the ONU queue corresponding to the upstream traffic flow overflows and a current time is greater than a predetermined amount, and in response to the difference not being greater than the predetermined amount, issue a PAUSE message for the upstream traffic flow to the switch.
In a variation on this embodiment, the system includes a traffic shaping mechanism configured to enforce a service contract across one or more ports located on the ONU.
In a further variation, the traffic shaping mechanism includes one or more shaping elements, and a shaping element is configured to manage one or more queues associated with the one or more ports located on the ONU.
In the figures, like reference numerals refer to the same figure elements.
The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Overview
Because each MDU-enable ONU manages multiple users, several features become important. An ONU should allow the providers to monitor, police, and shape the bandwidth of each user depending on the subscribed service. Due to the unique network topology of PONs and its high data rates, it is essential for a service provider to ensure a scalable and efficient end-to-end Quality of Service (QoS) for its users/subscribers. Typical QoS metrics include minimum bandwidth (Bmin) that indicates guaranteed bandwidth (BW) required by a service, maximum bandwidth (Bmax) that indicates s allowed BW for a service when surplus BW is available, maximum frame loss ratio (Lmax), and maximum frame delay (Dmax). Different types of services often require different QoS parameters. For example, voice services often require less bandwidth and lower delay than video services.
However, provisioning QoS to individual subscribers/users, who may subscribe to different services, can be difficult for an ONU because the upstream (in the direction from an ONU to an OLT) bandwidth available to the ONU varies dynamically based on both the ONU's request and status of all other ONUs coupled to the same OLT. Note that in the upstream direction, the ONUs need to share channel capacity and resources, because there is only one link coupling the passive optical coupler to the OLT, as shown in
MDU PON
Each ONU also includes a classification mechanism, such as classification mechanism 230, configured to classify the incoming packets into different classes of service, and to place them into corresponding queues, such as queue 232-236. Note that IEEE standard 802.1D distinguishes the following traffic classes: network control, voice, video, controlled load, excellent effort, best effort, and background. Other classification criteria are also possible. In one embodiment, each ONU queue serves one CoS. In a further embodiment, multiple traffic classes are grouped together to occupy the same queue.
Upstream traffic received from each UNI port of the switch is classified and placed in a corresponding input/ingress queue by a classification mechanism, such as classification mechanism 322, based on the CoS of the traffic. In one embodiment, each UNI port has its own set of input/ingress queues, and each queue serves one CoS. To support QoS, each input/ingress queue is coupled to a traffic shaper and/or a policer, which can be controlled by an ONU. For example, input/ingress queue 312 is coupled to a traffic shaper 324 and a policer 326. Policer 326 enforces QoS policy to upstream traffic that fills input/ingress queue 312 by dropping packets once the bandwidth of the traffic exceeds the maximum bandwidth allowed for the CoS. For example, if queue 312 is dedicated to voice service, whose Bmax is 1 Mbps, policer 326 starts dropping incoming packets once traffic directed to queue 312 consumes a bandwidth greater than 1 Mbps. Similarly, shaper 324 enforces QoS by reducing the output rate of input/ingress queue 312 if the bandwidth exceeds the maximum bandwidth allowed for the CoS.
Cross-connect 310 inter-connects the multiple sets of input/ingress queues and the set of output/egress queues. Similarly, each output/egress queue can be dedicated to a CoS, and each output/egress queue is also coupled to a traffic shaper for QoS implementation. For example, queue 304 is coupled to a traffic shaper 328. In addition, a scheduler 330 is coupled to the set of output/egress queues and is responsible for upstream traffic scheduling.
In the example shown in
The ONU coupled to SMB switch 300 may support upstream traffic up to 1 Gb/s, 2.5 Gb/s, or 10 Gb/s depending on the configuration of the ONU. In other words, the uplink capacity of SMB switch 300 can be 1 Gb/s, 2.5 Gb/s, or 10 Gb/s depending on the configuration of the ONU coupled to the switch. However, because all ONUs coupled to an OLT share a common upstream trunk link, at a given time, an ONU may or may not be able to use the entire uplink capacity. If the EPON is lightly loaded, that is if only a few ONUs request upstream transmission, an ONU may be able to transmit all packets arriving from an SMB switch at the full uplink capacity. However, if all ONUs coupled to an OLT are requesting upstream transmission, each ONU can only be allocated with a limited amount of upstream bandwidth. Hence, the ONU's throughput decreases, which may result in overflow of ONU queues. Such queue overflow can force the ONU to drop incoming packets.
To avoid packet loss and to enforce QoS, it is important for the ONU to control or to throttle the upstream traffic flow from the coupled SMB switch. A conventional way to enforce flow control in Ethernet is to allow the ONU to send a PAUSE frame/packet to the switch to stop uplink transmission from the switch. However, this PAUSE-based is inefficient for QoS purposes because one full ONU queue can result in halting of all types of upstream traffics. Moreover, the PAUSE scheme can also be unfair to users requesting lower bandwidth, such as a user requesting voice service only.
ONU Backpressure
Furthermore, the backpressure can be extended from the output/egress queues of switch 406 to the input/ingress queues of switch 406. For example, once traffic shaper 412 limits the flow rate for traffic from output/egress queue 410, queue 410 may start to fill up. Once queue 410 exceeds an upper threshold, a “reduce-flow-rate” message or a control signal can be sent to traffic shapers, such as shapers 422 and 424, of corresponding input/egress queues (input/ingress queues that are assigned to the same CoS), such as input/ingress queues 426 and 428. Note that arrow 430 in
In one embodiment, the flow-control mechanism is located on the OLT, and the flow-control messages are first sent from the OLT to the ONU, and then to the SMB switch. Because the OLT is aware of queue status of all coupled ONUs (based on the REPORT messages sent by the ONUs) in an EPON, the OLT can predict the total load on the EPON and adjust flow rates from individual queues accordingly.
ONU “Look Ahead”
In one embodiment of the present invention, the ONU generates flow-control instructions not only based on its current queue status, but also based on its knowledge of imminent decrease in queue occupancy. In other words, the ONU is able to “look ahead” when issuing flow-control instructions.
As explained earlier, all ONUs in an EPON share the upstream link. In order to avoid collision of upstream transmissions from different ONUs, ONU transmissions are arbitrated. This arbitration can be achieved by allocating a transmission window (grant) to each ONU. An ONU defers transmission until its grant arrives. A multipoint control protocol (MPCP) located in the OLT MAC control layer can be used to assign transmission time slots to ONUs. MPCP relies on GATE (a message from the OLT to the ONU to assign grant) and REPORT (a message from the ONU to the OLT reporting its queue status). The MPCP GATE message includes information regarding the start time and the length of the assigned transmission slot for an ONU.
Based on the projected queue-overflow time, the ONU logic can issue flow-control instructions to a corresponding queue. In one embodiment, the ONU logic can issue a PAUSE message to a corresponding queue to pause incoming traffic flow. In a further embodiment, the PAUSE message expires after a certain amount of time to allow the queue to resume its transmission. In addition, the ONU can also issue a CANCEL message to allow the queue to resume its transmission. In one embodiment, the ONU issues a CANCEL message to a corresponding queue if the time-until-overflow is grater than an issue-cancel-threshold, which is defined as the minimum value the time-until-overflow can take before a CANCEL message is permitted to be sent, and if the PASUE expires.
If the time-until-overflow is not greater than the issue-pause-threshold, a PAUSE message is issued (operation 702). Subsequently, the system determines whether the time-until-overflow is greater than the issue-cancel-threshold (operation 704). If so, the system further determines whether the PAUSE has expired (operation 706). If so, the system returns to operation 700; otherwise, the system issues a CANCEL message (operation 708). If the time-until-overflow time is not greater than the issue-cancel-threshold, the system determines whether a time-until-expiration, which is defined as the time until the most recently issued PAUSE message expires, is greater than the issue-pause-threshold (operation 710). If so, the system returns to operation 704, if not, the system issues a pause (operation 702).
Multi-Port Traffic Shaping
In some embodiments, an ONU is able to enforce service contracts across one or more user-to-network interface (UNI) ports. Such an approach allows traffic of a single customer to span multiple UNI ports and additionally gives service provider the ability to offer service contracts exceeding the maximum rate of a single UNI port. For example, one UNI port can support 1 Gb/s traffic. By assigning a customer two such UNI ports, the service provider can offer a 2 Gb/s service contract to a customer.
Each traffic-shaping element can enforce service contract by supporting a configurable steady-state data rate and configurable maximum burst size. In addition, each traffic-shaping element can be configured to manage any combination of a number of queues within a number of UNIs. For example, traffic-shaping element 808 is configured to manage queues 812 and 814 within UNI port 802, and traffic-shaping element 810 is configured to manage queues 816, 818, and 820, which belong to port 802 and 804. By configuring traffic-shaping elements to manage a set of queues across different UNIs, shaping to any rate up to the sum of the line rate of the UNIs can be supported.
In some embodiments, traffic-shaping elements use a credit-based system to shape traffic. During operation, each traffic-shaping element accrues shaping credits at a rate based on the configured data rate, and these credits saturate at a value based on the configured maximum burst size. When packets are transmitted from a certain queue in a certain channel, the one or more shaping elements configured to be affected by the queue-channel pair will decrease their shaping credits appropriately. For example, when queue 812 transmits, shaping element 808 can decrease shaping credits associated with queue 812, accordingly.
The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing code and/or data now known or later developed.
The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.
Furthermore, methods and processes described herein can be included in hardware modules or apparatus. These modules or apparatus may include, but are not limited to, an application-specific integrated circuit (ASIC) chip, a field-programmable gate array (FPGA), a dedicated or shared processor that executes a particular software module or a piece of code at a particular time, and/or other programmable-logic devices now known or later developed. When the hardware modules or apparatus are activated, they perform the methods and processes included within them.
The foregoing descriptions of various embodiments have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention.
Kramer, Glen, Feinstein, Joshua L., Hirth, Ryan E.
Patent | Priority | Assignee | Title |
10225013, | Dec 01 2016 | ARRIS ENTERPRISES LLC | Channel management to provide narrowcast data services using visible light communication |
10992382, | Dec 01 2016 | ARRIS ENTERPRISES LLC | Channel management to provide narrowcast data services using visible light communication |
Patent | Priority | Assignee | Title |
6324165, | Sep 05 1997 | Ciena Corporation | Large capacity, multiclass core ATM switch architecture |
6721797, | May 16 2000 | Lucent Technologies Inc. | Partial back pressure (PBP) transmission technique for ATM-PON using rate controllers to reduce a maximum output rate from a peak rate to a controlled rate |
7260062, | Dec 20 2002 | International Business Machines Corporation | Flow control in network devices |
20020063932, | |||
20050074238, | |||
20060018322, | |||
20060233197, | |||
20070133596, | |||
20070212071, | |||
CN1346182, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 29 2009 | KRAMER, GLEN | TEKNOVUS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023497 | /0903 | |
Sep 29 2009 | FEINSTEIN, JOSHUA L | TEKNOVUS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023497 | /0903 | |
Oct 07 2009 | Broadcom Corporation | (assignment on the face of the patent) | / | |||
Oct 09 2009 | HIRTH, RYAN E | TEKNOVUS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023497 | /0903 | |
Aug 19 2010 | TEKNOVUS, INC | Broadcom Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 024864 | /0231 | |
Feb 01 2016 | Broadcom Corporation | BANK OF AMERICA, N A , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 037806 | /0001 | |
Jan 19 2017 | BANK OF AMERICA, N A , AS COLLATERAL AGENT | Broadcom Corporation | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 041712 | /0001 | |
Jan 20 2017 | Broadcom Corporation | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041706 | /0001 | |
May 09 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | MERGER SEE DOCUMENT FOR DETAILS | 047230 | /0910 | |
Sep 05 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384 ASSIGNOR S HEREBY CONFIRMS THE MERGER | 049248 | /0558 | |
Sep 05 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910 ASSIGNOR S HEREBY CONFIRMS THE MERGER | 047351 | /0384 |
Date | Maintenance Fee Events |
Jan 23 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 20 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 23 2016 | 4 years fee payment window open |
Jan 23 2017 | 6 months grace period start (w surcharge) |
Jul 23 2017 | patent expiry (for year 4) |
Jul 23 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 23 2020 | 8 years fee payment window open |
Jan 23 2021 | 6 months grace period start (w surcharge) |
Jul 23 2021 | patent expiry (for year 8) |
Jul 23 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 23 2024 | 12 years fee payment window open |
Jan 23 2025 | 6 months grace period start (w surcharge) |
Jul 23 2025 | patent expiry (for year 12) |
Jul 23 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |