Patent ID: 7974288

Claim:
A device for regulating network traffic by routing packets through tunnels, virtual connections between endpoints within network topology, comprising a processor configured by a software program to perform: tunnel creation; schedule links; and schedule classes: wherein said tunnel creation is between a source and a destination of said endpoints wherein said endpoints are operative to receive a tunnel definition file which defines at least one of an encryption tunnel type and a compression tunnel type, read at least one identified pair of endpoints for each tunnel type from said tunnel definition file, and create at least one tunnel with an endpoint with which said device is paired according to said tunnel type; said schedule links to measure tunnel performance; to determine an estimate of the bandwidth that will actually be used by the packets of each class, to identify a packet of the packets as having already been processed for the tunnel, to queue tunnel packets for the outgoing link scheduler, to schedule tunnel packets based on said estimate of the bandwidth to be used by the packets after compression or after encryption, and said schedule classes based on both the actual amount of raw data belonging to the class and the actual amount of post-tunnel-processing data at the destination endpoint.