IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0746235
(2003-12-29)
|
등록번호 |
US-7643413
(2010-02-11)
|
발명자
/ 주소 |
- Milway, David
- Stoye, William
|
출원인 / 주소 |
- Brooktree Broadband Holding, Inc.
|
대리인 / 주소 |
Thomas, Kayden, Horstemeyer & Risley, LLP
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
29 |
초록
▼
A method and apparatus for scheduling the transmission of cells onto an network, or other packet switching network, is disclosed. The central feature of the scheduling mechanism is a quality of service engine (QoS Engine) which accelerates the processing of packets in a packet switching networks, su
A method and apparatus for scheduling the transmission of cells onto an network, or other packet switching network, is disclosed. The central feature of the scheduling mechanism is a quality of service engine (QoS Engine) which accelerates the processing of packets in a packet switching networks, such as an ATM network, by assisting the accurate pacing of many ATM virtual circuits. The QoS Engine allows the concurrent support of a wide variety of port speeds, traffic classes using different priorities and traffic parameters. quality of service engine (QoS Engine) works in conjunction with a network processor (NP) to allow it to maintain software flexibility, and for it to achieve accurate pacing.
대표청구항
▼
What is claimed: 1. A method of accelerating processing of packet-based traffic in a packet switching network, comprising: providing a quality of service engine for accelerating processing of packet-based traffic by pacing a plurality of virtual circuits, the packet-based traffic including at least
What is claimed: 1. A method of accelerating processing of packet-based traffic in a packet switching network, comprising: providing a quality of service engine for accelerating processing of packet-based traffic by pacing a plurality of virtual circuits, the packet-based traffic including at least one packet; allocating data entry values for scheduling transmission of the at least one packet on one or more of the plurality of virtual circuits, each data entry value further comprising: a timestamp field, an index field representing a newly created data entry, a port field representing a physical port number, and a priority field; and sorting the data entry values by the timestamp field to determine a next desired available entry, the determination being made when a particular port is ready to transmit. 2. The method according to claim 1 wherein the index field is used to locate a particular virtual circuit. 3. The method according to claim 1 wherein the timestamp field indicates the earliest absolute time at which an entry may be returned. 4. The method of claim 1 further comprising: creating a new value for the timestamp field of the next desired available entry; and re-inserting the next desired available entry into the quality of service engine. 5. The method according to claim 1 wherein the priority field is a Boolean high or low value and indicates the priority of an entry. 6. The method according to claim 1 wherein the quality of service engine provides a mask that prevents a port that has an entry which is not ready to be processed from being displayed when it the port is being handled by the quality of service engine. 7. The method of claim 1, wherein the quality of service engine is accessed by a network processor to determine whether to write to or read out of the memory. 8. The method of claim 7, wherein the network processor performs remove reads. 9. The method of claim 8, wherein each remove read is priority checked prior to removing. 10. The method of claim 8, wherein each remove read is a conditional or unconditional remove. 11. The method of claim 1 further comprising: locating an identified virtual circuit from the plurality of virtual circuits, the identified virtual circuit being identified by the next desired available entry; and transmitting the at least one packet from the identified virtual circuit. 12. An apparatus for accelerating processing of packet-based traffic in a packet switching network, comprising: a quality of service engine for accelerating processing of packet-based traffic by pacing a plurality of virtual circuits, the packet-based traffic including at least one packet; a plurality of data entry values for scheduling transmission of the at least one packet on one or more of the plurality of virtual circuits, each data entry value further comprising: a timestamp field, an index field representing a newly created data entry, a port field representing a physical port number, and a priority field; and a data entry values sorter that sorts at least a portion of the data entry values by the timestamp field for determining a next desired available entry, the determination being made when a particular port is ready to transmit. 13. The apparatus according to claim 12 wherein the timestamp field indicates the earliest absolute time at which an entry may be returned. 14. The apparatus according to claim 12 wherein the index field is used to locate a particular virtual circuit. 15. The apparatus according to claim 12 wherein the priority field is a Boolean high or low value and indicates the priority of an entry. 16. The apparatus according to claim 12 wherein the quality of service engine provides a mask that prevents a port that has an entry which is not ready to be processed from being displayed when the port is being handled by the quality of service engine. 17. The apparatus of claim 12, wherein the quality of service engine is accessed by a network processor to determine whether to write to or read out of the memory. 18. The apparatus of claim 12 further comprising: a data entry locator that locates an identified virtual circuit from the plurality of virtual circuits, the identified virtual circuit being identified by the next desired available entry; a data entry transmitter that transmits the at least one packet from the identified virtual circuit; a data entry creator that creates a new value for the timestamp field of the next desired available entry; and a data entry inserter that re-inserts the next desired available entry into the quality of service engine. 19. A computer-readable medium containing a computer-executable program for accelerating processing of packet-based traffic in a packet switching network, the program when executed by a computer, performs at least the following: providing a quality of service engine for accelerating processing of packet-based traffic by pacing a plurality of virtual circuits, the packet-based traffic including at least one packet; allocating data entry values for scheduling transmission of the at least one packet on one or more of the plurality of virtual circuits, the data entry values further comprising: a timestamp field, an index field representing a newly created data entry, a port field representing a physical port number, and a priority field; and sorting data entry values by the timestamp field to determine a next desired available data entry, the determination being made when a particular port is ready to transmit. 20. The computer-readable medium of claim 19, further comprising providing a mask that prevents a port that has an entry which is not ready to be processed from showing up when it is being handled by the quality of service engine. 21. The computer-readable medium of claim 19, further comprising accessing the quality of service engine by a network processor to determine at least one of the following: writing to a memory and reading from the memory. 22. The computer-readable medium of claim 19, further comprising the network processor priority checking a plurality of remove reads before removing at least one of the following: a conditional remove and an unconditional remove. 23. The computer-readable medium of claim 19, wherein allocating data entry values for scheduling transmission of packets on one or more virtual circuits further comprises identifying the timestamp field, the index field, the port field and the priority field. 24. The computer readable medium of claim 19 further comprising: locating an identified virtual circuit from the plurality of virtual circuits, the identified virtual circuit being identified by the next desired available entry; transmitting the at least one packet from the identified virtual circuit; creating a new value for the timestamp field of the next desired available entry; and re-inserting the next desired available entry into the quality of service engine. 25. A method of accelerating processing of packet-based traffic in a packet switching network, comprising: providing a quality of service engine for accelerating processing of packet-based traffic by pacing a plurality of virtual circuits, the packet-based traffic including at least one packet; allocating data entry values for scheduling transmission of the at least one packet on the plurality of virtual circuits, each data entry value further comprising: a timestamp field, an index field, a port field, and a priority field; sorting the data entry values to determine a next desired available entry, the determination being made when a particular port is ready to transmit; locating a virtual circuit identified by the next desired available entry from the plurality of virtual circuits; transmitting the at least one packet from the identified virtual circuit; creating a new value for the timestamp field of the next desired available entry; and re-inserting the next desired available entry into the quality of service engine. 26. The method of claim 25 further comprising providing a mask to prevent a port having an entry which is not ready to be processed from being displayed when the port is being handled.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.