Claims
- 1. A method for processing communication in a communication device having a first interface and a second interface comprising:
accepting data packets at the first interface; for each accepted packet, identifying one of a plurality of classes of data flows associated with said packet; for at least some of the accepted packets queuing said packets according to the identified class for said packet; and transmitting the accepted packets from the second communication interface according a policy for priority and bandwidth allocation associated with the plurality of classes of data flows.
- 2. The method of claim 1 wherein identifying the class of data flows includes examining network layer addressing data in the accepted packet.
- 3. The method of claim 1 wherein examining network layer addressing data includes identifying destination network layer addresses of the packets.
- 4. The method of claim 2 wherein identifying the class of data flows includes examining application layer data in the packets.
- 5. The method of claim 1 further comprising, for at least some other of the accepted packets, passing the accepted packets to a proxy application hosted in the communication device.
- 6. The method of claim 5 wherein the destination network layer addresses for the accepted packets that are passed to the proxy application are addresses of devices other than the communication device and that are accessible through the second interface, whereby the packets are intercepted by the communication device without being addressed to the communication device by the originators of the packets.
- 7. The method of claim 5 wherein information in the packets passed to the proxy application is transmitted from the second interface in packets with source network layer addresses associated with the communication device.
- 8. The method of claim 5 wherein information in the packets passed to the proxy application is transmitted from the second interface in packets with source network layer addresses equal to the source network layer addresses of corresponding accepted packets.
- 9. The method of claim 5 further comprising, for the packets that are passed to the proxy application, queuing records associated with the accepted packets, and transmitting packets from the proxy application according to the queued records.
- 10. The method of claim 1 wherein the communication device communicates with devices over the first interface and the second interface as a data link layer bridge.
- 11. The method of claim 10 wherein the accepted packets are transmitted without modification of their source and destination network layer addresses.
- 12. The method of claim 1 further comprising accepting a specification of the policy using a graphical user interface.
- 13. The method of claim 1 further comprising displaying data related to the utilization of bandwidth allocated to the classes of data flows on the graphical user interface.
- 14. The method of claim 1 further comprising operating the communication device in a second mode, including passing packets between the first interface and the second interface without modification.
- 15. The method of claim 14 wherein operating in the second mode further includes monitoring the packets passing between the first interface and the second interface.
- 16. The method of claim 15 wherein monitoring the packets includes identifying a class of data flows associated with each packet.
- 17. The method of claim 1 further comprising operating the communication device in a third mode, including directly connecting the first interface to the second interface.
- 18. The method of claim 17 further comprising switching to the third mode of operation in the event of a fault at the communication device.
- 19. A communication device comprising:
a plurality of network interfaces, including a first network interface, and a second network interface, wherein the communication device is configured to pass packets belonging to a plurality of classes of data flows between the network interfaces according to a programmable policy; a plurality of queues, each associated with a different one of the classes of data flows, for accepting packets from the first network interface; configuration data, including a configurable policy for the classes of data flows, wherein the configurable policy for a flow includes a bandwidth parameter and a priority parameter; and a scheduler for determining when to dequeue data packets queued in the plurality of queues, wherein the scheduler is configured according to the bandwidth parameters and the priority parameters for the classes of data flows.
- 20. The device of claim 19 wherein the device includes the capability to functions as a data link layer bridge when passing data packets between the network interfaces.
- 21. The device of claim 19 further comprising a proxy application for processing data accepted at the first interface.
- 22. The device of claim 21 further comprising a cache for servicing requests in data processed by the proxy application.
- 23. The device of claim 19 further comprising a bypass switch for coupling the first interface to the second interface in a second operating mode.
- 24. The device of claim 23 wherein the bypass switch includes a hub for coupling the first interface to both the second interface and to a processor of the communication device, whereby data passing between the first interface and the second interface can be monitored by the communication device without modifying the communication.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Applications No. 60/172,910 filed Dec. 21, 1999, No. 60/172,905 filed Dec. 21, 1999, and No. 60/211,010 filed Jun. 12, 2000. These applications are incorporated herein by reference.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60172905 |
Dec 1999 |
US |
|
60172910 |
Dec 1999 |
US |
|
60211010 |
Jun 2000 |
US |