Claims
- 1. A method of packet handling at a network element, the method comprising:
receiving plural flows of packets from one or more devices coupled to the network element; identifying a service instance associated with each packet in the packet flows; determining a quality of service (QoS) class for each packet from the corresponding service instance; and regulating the packet flow associated with each service instance according to corresponding policing criteria.
- 2. The method of claim 1 further comprising processing the packets according to service-specific processing indicated by the service instance.
- 3. The method of claim 2 wherein processing the packets further includes service independent processing.
- 4. The method of claim 3 wherein service independent processing includes attaching to the packet an access network label that includes an indication of the determined QoS class.
- 5. The method of claim 2 further comprising placing the processed packets into one of plural egress buffers, each egress buffer associated with a corresponding QoS class.
- 6. The method of claim 5 wherein placing the packets includes dropping a packet if the corresponding egress buffer has insufficient buffer space.
- 7. The method of claim 5 further comprising transmitting the packets from the egress buffers according to a transmission schedule.
- 8. The method of claim 7 wherein transmitting includes transmitting the packets from the egress buffers to a common modem buffer for transmission to a second network element.
- 9. The method of claim 8 wherein transmitting to the common buffer is according to strict non-preemptive priorities across the QoS classes.
- 10. The method of claim 9 wherein transmitting to the common buffer is further according to first-in, first-out order among packets belonging to the same QoS class.
- 11. The method of claim 8 wherein transmitting to the common buffer includes receiving flow control flags from the second network element for each QoS class, each flow control flag having an ON and OFF state, the ON state indicating permission to transmit a packet belonging to the corresponding QoS class.
- 12. The method of claim 18 wherein transmitting to the common buffer further includes determining available memory in the modem buffer and the state of the flow control flags and moving a particular packet from an egress buffer into the modem buffer if the packet length is less than the available memory and the state of the corresponding flow control flag for the QoS class of the particular packet is ON.
- 13. The method of claim 1 wherein identifying the service instance includes associating a service instance on the basis of at least one of source MAC address, source IP address, source port ID address, destination MAC address, destination IP address and destination port ID address contained in the packet.
- 14. The method of claim 1 wherein regulating includes dropping packets that fail to meet policing criteria.
- 15. The method of claim 1 wherein regulating includes:
associating a token bucket with each service instance; maintaining a state variable X for each token bucket; updating the state variable X at an interval to provide a current value of the state variable X; comparing the length of the received packet with the current value of the state variable X; and dropping the received packet if the current value of the state variable X is less than the length of the received packet, otherwise decrementing the current value of the state variable X by the length of the received packet.
- 16. The method of claim 15 wherein the token bucket has a token size and a maximum burst size and wherein updating the state variable X is according to the equations:
- 17. A method of packet handling at a network element, the method comprising:
receiving plural flows of packets from one or more devices coupled to the network element; determining a service instance associated with each packet in the packet flows; associating a token bucket with each service instance; and regulating the packet flows according to the state of the token bucket.
- 18. The method of claim 17 wherein regulating includes:
maintaining a state variable X for each token bucket; updating the state variable X at an interval to provide a current value of the state variable X; comparing the length of the received packet with the current value of the state variable X; and dropping the received packet if the current value of the state variable X is less than the length of the received packet, otherwise decrementing the current value of the state variable X by the length of the received packet.
- 19. The method of claim 18 wherein the token bucket has a token size and a maximum burst size and wherein updating the state variable X is according to the equations:
- 20. The method of claim 18 further comprising processing the received packet according to service-specific processing indicated by the service instance.
- 21. In a network element, apparatus for packet handling of plural packet flows from one or more devices coupled to the network element, the apparatus comprising:
a packet classifier for identifying a service instance associated with each packet in the packet flows and for determining a quality of service (QoS) class for each packet from the corresponding service instance; and a traffic policing regulator for regulating the packet flow associated with each service instance according to corresponding policing criteria.
- 22. The apparatus of claim 21 further comprising service modules for processing the packets according to service-specific processing indicated by the service instance.
- 23. The apparatus of claim 22 further comprising plural egress buffers for receiving the processed packets, each egress buffer associated with a corresponding QoS class.
- 24. The apparatus of claim 23 further comprising a transmission scheduler for transmitting the packets from the egress buffers according to a transmission schedule.
- 25. In a network element, apparatus for packet handling of plural packet flows from one or more devices coupled to the network element, the apparatus comprising:
means for identifying a service instance associated with each packet in the packet flows and for determining a quality of service (QoS) class for each packet from the corresponding service instance; means for regulating the packet flow associated with each service instance according to corresponding policing criteria; means for processing the packets according to service-specific processing indicated by the service instance; and means for transmitting the processed packets according to a transmission schedule.
- 26. A computer program product including computer program code for packet handling of plural packet flows from one or more devices coupled to a network element, the computer program product comprising:
computer program code for identifying a service instance associated with each packet in the packet flows and for determining a quality of service (QoS) class for each packet from the corresponding service instance; computer program code for regulating the packet flow associated with each service instance according to corresponding policing criteria; computer program code for processing the packets according to service-specific processing indicated by the service instance; and computer program code for transmitting the processed packets according to a transmission schedule.
- 27. A computer data signal including program code for packet handling of plural packet flows from one or more devices coupled to a network element, the computer data signal comprising:
program code for identifying a service instance associated with each packet in the packet flows and for determining a quality of service (QoS) class for each packet from the corresponding service instance; program code for regulating the packet flow associated with each service instance according to corresponding policing criteria; program code for processing the packets according to service-specific processing indicated by the service instance; and program code for transmitting the processed packets according to a transmission schedule.
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/234,682, filed Sep. 22, 2000 and U.S. Provisional Application No. 60/278,811, filed on Mar. 26, 2001. This application is co-pending with Docket No. 3070.1000-002, entitled “Broadband System with Intelligent Network Devices,” Docket No. 3070.1000-003, entitled “Network Architecture for Intelligent Network Elements,” Docket No. 3070.1000-004, entitled “System and Method of Assigning Network Data Packet Header,” Docket No. 3070.1000-005, entitled “System and Method for Call Admission Control,” Docket No. 3070.1000-006, entitled “System and Method for Mapping End User Identifiers to Access Device Identifiers,” Docket No. 3070.1000-007, entitled “System and Method for Message Transmission Based on Intelligent Network Element Device Identifiers,” Docket No. 3070.1000-008, entitled “Broadband System Having Routing Identification Based Switching,” Docket No. 3070.1000-009, entitled “Broadband System Having Routing Identification Assignment,” Docket No. 3070.1000-010, entitled “Broadband System with Topology Discovery,” Docket No. 3070.1000-011, entitled “Broadband System with QOS Based Packet Handling,” Docket No. 3070.1000-012, entitled “Broadband System with Transmission Scheduling and Flow Control,” all filed on Sep. 13, 2001. The entire teachings of the above application(s) are incorporated herein by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60234682 |
Sep 2000 |
US |
|
60278811 |
Mar 2001 |
US |